小编sam*_*mar的帖子

EJB3拦截器无法引导上下文

我正在尝试使用@Interceptors(SpringBeanAutowiringInterceptor.class)将Spring bean注入EJB

这是我的EJB:

@Stateless
@Interceptors(SpringBeanAutowiringInterceptor.class)
public class processMethodService implements
    processMethodService {

    @Autowired
    private SomeBean bean;

    @Schedule(minute = "*/5", hour = "*", persistent = false)
    @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
    public void startProcessing() {
        //businesslogic 
    }
}
Run Code Online (Sandbox Code Playgroud)

和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"
   xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-3.2.xsd">

<bean id="ejb-businesslayer.application.context" lazy-init="true"
    class="org.springframework.context.support.ClassPathXmlApplicationContext">
    <constructor-arg>
        <list>
            <value>classpath:/META-INF/spring-config.xml</value>
        </list>
    </constructor-arg>
</bean> `
Run Code Online (Sandbox Code Playgroud)

beanRefContext.xml,spring-config.xml位于META-INF文件夹下.

当每5分钟调用一次startProcessing时,我们得到以下异常

Exception data: javax.ejb.EJBException: session bean lifecycle interceptor failure;nested exception is:org.springframework.beans.factory.access.BootstrapException: Unable to return  specified  BeanFactory instance: factory key [null], 
from group with resource name [classpath*:beanRefContext.xml]; 
nested …
Run Code Online (Sandbox Code Playgroud)

spring dependencies code-injection ejb-3.0

5
推荐指数
1
解决办法
3579
查看次数

标签 统计

code-injection ×1

dependencies ×1

ejb-3.0 ×1

spring ×1