Java tomcat配置导致运行@Service的2个副本
我有一个Java tomcat配置导致运行@Service的2个副本,java,spring,tomcat,Java,Spring,Tomcat,我有一个ScheduledExecutor,它在我的一些@服务的@PostConstruct上运行。但是,此tomcat配置会导致运行两个@Service副本,删除其中任何一个副本都会导致wars中的@Controller无法工作 如何解决这个问题?我需要将@Service设置为singleton,以便只有一个执行器运行一些代码 将Executor设置为static将使其仅成为一个Executor,但是否有办法在配置级别实现这一点 web.xml <context-param>
ScheduledExecutor
,它在我的一些@服务的@PostConstruct
上运行。但是,此tomcat配置会导致运行两个@Service
副本,删除其中任何一个副本都会导致wars中的@Controller
无法工作
如何解决这个问题?我需要将@Service
设置为singleton,以便只有一个执行器运行一些代码
将Executor
设置为static
将使其仅成为一个Executor
,但是否有办法在配置级别实现这一点
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
上下文配置位置
WEB-INF/classes/applicationContext.xml
servlet
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
类路径:servlet-context.xml
1.
真的
servlet-context.xml
<import resource="applicationContext.xml" />
<bean id="properties" class="my.package.common.properties.MyPropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>WEB-INF/classes/system.properties</value>
<value>WEB-INF/classes/db.properties</value>
<value>WEB-INF/classes/applicationContext.properties</value>
</list>
</property>
</bean>
<context:annotation-config />
<context:component-scan base-package="my.package" />
applicationContext.xml
<import resource="applicationContext.xml" />
<bean id="properties" class="my.package.common.properties.MyPropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>WEB-INF/classes/system.properties</value>
<value>WEB-INF/classes/db.properties</value>
<value>WEB-INF/classes/applicationContext.properties</value>
</list>
</property>
</bean>
<context:annotation-config />
<context:component-scan base-package="my.package" />
WEB-INF/classes/system.properties
WEB-INF/classes/db.properties
WEB-INF/classes/applicationContext.properties