çağrılıyor.Yay tekilleştirme, bahar uygulamamda bir sorun olmak üzere iki kez
Oldukça basit bir bahar fasulyem var, onlar diğer çeşitli bahar fasulyelerine enjekte edilir. Ben hata ayıklama bulurken, onlar iki kez denir Constructor & @ PostConstruct iki kez denir.
Uygulamamın ön uç teknolojisi yoktur. Sadece arka uç görevi ile ilgili.
Bahar Yapılandırma
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:lang="http://www.springframework.org/schema/lang" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd">
<context:component-scan base-package="com.green.integration" />
<!-- ######################################################## -->
<!-- EXPOSING SPRING BEAN VIA HTTPINVOKER SPRING REMOTING -->
<!-- ######################################################## -->
<bean name="/switch"
class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
<property name="service" ref="SwitchController" />
<property name="serviceInterface"
value="com.green.ISwitchController" />
</bean>
<!-- Load in application properties reference -->
<bean id="applicationProperties"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:application.properties" />
</bean>
<bean id="mongo" class="com.mongodb.Mongo">
<constructor-arg value="${mongo.server}" />
<constructor-arg value="${mongo.port}" />
</bean>
<bean id="morphia" class="com.google.code.morphia.Morphia">
</bean>
</beans>
Bahar Bean Sınıf
@Repository
public class TransactionDAO extends BasicDAO<Transaction, ObjectId> {
private Datastore datastore;
@Autowired
public TransactionDAO(Mongo mongo, Morphia morphia) {
super(mongo, morphia, "itransact");
morphia.map(Transaction.class);
// TO USE MONGO WITHOUT SECURITY
this.datastore = morphia.createDatastore(mongo, "itransact");
logger.debug("***** CONNECTED TO MONGODB SUCCESSFULLY *****");
this.datastore.ensureIndexes();
// this.datastore.ensureCaps();
}
}
Yapıcı "TransactionDAO" İki kez deniliyor.
BenThrowable t = new Throwable();
System.out.println(t.getStackTrace()[1].toString());
tarafından çağrı yığın izleme izlemek için çalıştı ve her seferinde
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
@ PostConstruct'ın iki kez de çağrıldığından kesinlikle emin misiniz? İki kere çağrılan kurucu kolayca açıklanabilir, ancak 'PostConstruct' değil. –
Bir dağıtıcı sunucu yapılandırmanız var mı? –
Belki de başka bir içeriğin xml konfigürasyon dosyasından x12 konfigürasyon dosyasından içe aktarılan uygulama içeriğiniz? –