jboss7.x - 如何使用 Spring 3.2.1、Jboss AS7、Aspectj 1.7.1 java 1.7 确定 jms 连接工厂的实现接口(interface)?

标签 jboss7.x aspectj java-7 spring-3 hornetq

我们正在使用 JBOSS AS7 在 java 1.6 中开发一个项目,其中我们使用:Aspectj 和 HornetQ。
我们需要升级到 java 1.7,所以我们使用 ASpectj 1.7.1。在部署期间,我们得到以下异常:

Caused by: org.springframework.beans.factory.BeanCreationException:
  Error creating bean with name 'eventsJmsTemplate' defined in class path resource [com/company/project/jms/jms.xml]: 
  Cannot resolve reference to bean 'jmsConnectionFactory' while setting bean property 'connectionFactory'; nested exception is
   org.springframework.beans.factory.BeanCreationException: 
  Error creating bean with name 'jmsConnectionFactory': 
  Post-processing of the FactoryBean's object failed; 
    nestedexception is java.lang.IllegalArgumentException: 
      warning can't determine implemented interfaces of missing type 
    com.company.project.aspects.MBeanAttributesAdvice [Xlint:cantFindType]

mbean是:
<jee:jndi-lookup id="jmsConnectionFactory" jndi-name="java:/JmsXA" />

在其他项目中,我们在使用 JPA 数据源时遇到了同样的异常:
<jee:jndi-lookup id="dataSource" jndi-name="java:jboss/datasources/table" />
<bean id="jpaDialect" class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />

我们设法通过在 jboss-deployment-structure 上添加模块依赖来解决这个问题:org.jboss.ironjacamar.jdbcadapters
<jboss-deployment-structure>
    <deployment>
        <exclusions>
            <module name="org.slf4j" />
            <module name="org.slf4j.impl" />
            <module name="org.apache.log4j" />
        </exclusions>
        <dependencies>
            <module name="org.jboss.ironjacamar.jdbcadapters" />
        </dependencies>
    </deployment>
</jboss-deployment-structure>

有没有我们可以添加的模块来传递这个异常?或任何其他方式来解决这个问题?

最佳答案

我想与您分享解决方案。添加模块:org.hornetq、org.hornetq.ra、org.jboss.ejb3、org.jboss.ejb-client。

<jboss-deployment-structure>
    <deployment>
        <!-- Exclusions allow you to prevent the server from automatically adding 
            some dependencies -->
        <exclusions>
            <module name="org.slf4j" />
            <module name="org.slf4j.impl" />
            <module name="org.apache.log4j" />
        </exclusions>
        <dependencies>
            <module name="org.jboss.ironjacamar.jdbcadapters" />
            <module name="org.hornetq" />
            <module name="org.hornetq.ra" />
            <module name="org.jboss.ejb3" />
            <module name="org.jboss.ejb-client" />
        </dependencies>
    </deployment>
</jboss-deployment-structure>

关于jboss7.x - 如何使用 Spring 3.2.1、Jboss AS7、Aspectj 1.7.1 java 1.7 确定 jms 连接工厂的实现接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15005345/

相关文章:

Spring <jee :remote-slsb> and JBoss AS7 - No EJB receiver available for handling

java - 如何通过aspectJ切入点不匹配强制编译错误

java - 有时,类在加载时编织期间不会被编织

java - 通过并发请求多次运行 JAR

jakarta-ee - Google API 授权代码流程

eclipse - 命名空间 http ://xmlns. jcp.org/jsf/core 中名为 passThroughAttribute 的标签定义了一个空处理程序类

java - JBOSS域模式,在特定IP上运行

spring-mvc - 在 Spring MVC 的 Aspect 中未注入(inject) Autowiring 的依赖项

java - 在 ubuntu 上设置 eclipse

c# - 结构和值类型(如 C# 的)是否会包含在 Java 7 中?