我正在使用以下MDB连接到WMQ:
@MessageDriven(name = "EventListener", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "ABC"),
@ActivationConfigProperty(propertyName = "hostName", propertyValue = "ABC"),
@ActivationConfigProperty(propertyName = "port", propertyValue = "ABC"),
@ActivationConfigProperty(propertyName = "channel", propertyValue = "ABC"),
@ActivationConfigProperty(propertyName = "queueManager", propertyValue = "ABC"),
@ActivationConfigProperty(propertyName = "sslCipherSuite", propertyValue = "ABC"),
@ActivationConfigProperty(propertyName = "transportType", propertyValue = "CLIENT") })
@ResourceAdapter(value = "wmq.jmsra.rar")
@TransactionManagement(value = TransactionManagementType.CONTAINER)
@TransactionAttribute(value = TransactionAttributeType.REQUIRED)
@Interceptors(SpringBeanAutowiringInterceptor.class)
public class EventListener implements MessageListener {}
下面的spring bean是自动连线的,作为上面MDB中使用的拦截器注释的一部分。event-app-config.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.abc" />
<context:annotation-config/>
<import resource="classpath:core-app-config.xml" /> //This is another package
</beans>
下面是core-app-config.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-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/jee
http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/cache
http://www.springframework.org/schema/cache/spring-cache.xsd">
<import resource="classpath:database-config.xml" />
<import resource="classpath:spring-jms-config.xml" />
</beans>
主xml BeanRefContext.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
<context:spring-configured/>
<bean id="beanRefFactory" class="org.springframework.context.support.ClassPathXmlApplicationContext">
<constructor-arg value="classpath*:event-app-config.xml" />
</bean>
</beans>
我正在从MDB包中的数据库&spring jms xmls中自动生成某些bean实例,但看起来这些xmls中的所有bean都没有创建。能不能请你明白什么是问题。MDB的自动功能是否仅限于同一包中的spring xml,而在父spring bean xml中进行的任何其他导入都没有创建?
示例:EventListener
在com.abc.xyz
包中。我是eventlistener类中来自com.abc.core包的类A
的自动实例。类A
是@service
,它又具有自动连线依赖关系,例如类B
which在com.abc.packb
中。因此,当创建类A
的实例时,我得到一个异常,表示未找到类B
定义。
要解决这个问题,您需要使用SpringBeanAutoWiringSupport。
因为MDB不是在spring上下文中创建的,所以必须使用SpringBeanAutowiringSupportProcessInjectionBasedOnCurrentContext(Object target)
方法自动连接所需的bean,或者从SpringBeanAutowiringSupport
继承MDB。
我有一个java类,它使用来自队列的消息,向一些URL发送HTTP调用。我已经在google和stackoverflow上做了一些搜索(如果我错过了提到这个问题的任何来源,我真的很抱歉),但是没有找到关于setRollbackOnly调用的任何细节。 我的问题是...在回滚的情况下,从队列中消耗的消息将阻塞队列的其余部分,并且将循环直到它被成功处理,或者在当前队列的末尾重新使用? 下面是我用于从队
问题内容: 这段代码可以正常工作,但是我又长又令人毛骨悚然。 如您所见,它由3个重复部分组成,用于检索: 玩家名称和他们玩过的游戏数量 玩家名称和他们赢得的游戏数量 玩家姓名和输掉的游戏数量 并且每个还包括2个部分: 玩家名称和以玩家_1身份参加的游戏数量 玩家名称以及他们作为玩家_2参加的游戏数量 如何简化呢? 结果看起来像这样: 问题答案: Postgres 9.4* 或更高版本中的 聚合子句
问题内容: 我发现自己想在eclipse中突出显示一个字符串,并用双引号或单引号引起来。我似乎找不到快捷方式。例如,在textmate中,如果我突出显示一个字符串并键入’或“,则字符串将被它们包围。同样,我也认为适用于)和}。 我已经添加了执行此操作的代码模板,但是它从未出现在菜单中,而且似乎也没有办法为其创建快捷方式。请注意,这应该完全由键盘驱动,并且不涉及任何辅助菜单,这始终是我的目标。 问题
我从学习Spring开始,创建基本项目,创建数据库,插入值,然后在web浏览器中打印。我的问题是,当我把RestController放在同一个包中,就像main class一样--这是可以的,但是我想把它分发到其他包中,并且当我创建新包时,移动RestController就不起作用了。让met解释: 我的项目看起来像: 我的pom.xml看起来像 它是自动生成的,我只写一个依赖项
问题内容: 我有一个登录页面。用户成功登录后,他们可以查看和管理其个人资料/信息。这可以通过从数据库检索数据并显示在formview上来完成。 但是,以下错误出现在我的userprofile.aspx.cs文件中: Userprofile.aspx: Userprofile.aspx.cs: 问题答案: 请尝试以下方法: 我虽然没有测试
问题内容: 我从学习Spring开始,我创建了一个基本项目,该项目创建数据库,插入值,然后在Web浏览器中打印它。我的问题是,当我将RestController和主类放在同一个包中时- 可以,但是我想将其分发到其他包中,而当我创建新包时,移动RestController则不起作用。让我们见面解释: 我的项目看起来像: 我的控制器看起来: 当一切都在包,我写的网络浏览器的http://本地主机:80