Boa noite pessoal do GUJ.
Estou estudando o novo JBOSS 7.1 com Spring 3x mais estou tomando o seguinte erro:
Eu configurei o diretorio do Spring no Jboss C:\server\jboss-as-7.1.0.CR1b\modules\org\springframework\spring\main da seguinte maneira:18:59:11,078 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC00001: Failed to start service jboss.deployment.subunit."ExemploJboss7.ear"."TesteJbossEJB.jar".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."ExemploJboss7.ear"."TesteJbossEJB.jar".POST_MODULE: Failed to process phase POST_MODULE of subdeployment "TesteJbossEJB.jar" of deployment "ExemploJboss7.ear"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_27]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_27]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_27]
Caused by: java.lang.RuntimeException: Error getting reflective information for class br.com.exemplo.ExemploEJB3 with ClassLoader ModuleClassLoader for Module "deployment.ExemploJboss7.ear.TesteJbossEJB.jar:main" from Service Module Loader
at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:70) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.ee.metadata.MethodAnnotationAggregator.runtimeAnnotationInformation(MethodAnnotationAggregator.java:58)
at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.handleAnnotations(InterceptorAnnotationProcessor.java:85)
at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:70)
at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:55)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
... 5 more
Caused by: java.lang.NoClassDefFoundError: org/springframework/beans/factory/BeanFactory
at java.lang.Class.getDeclaredFields0(Native Method) [rt.jar:1.6.0_27]
at java.lang.Class.privateGetDeclaredFields(Class.java:2291) [rt.jar:1.6.0_27]
at java.lang.Class.getDeclaredFields(Class.java:1743) [rt.jar:1.6.0_27]
at org.jboss.as.server.deployment.reflect.ClassReflectionIndex.<init>(ClassReflectionIndex.java:57) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex(DeploymentReflectionIndex.java:66) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
... 10 more
Caused by: java.lang.ClassNotFoundException: org.springframework.beans.factory.BeanFactory from [Module "deployment.ExemploJboss7.ear.TesteJbossEJB.jar:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
... 15 more
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.springframework.spring">
<resources>
<resource-root path="cglib-nodep-2.2.2.jar"/>
<resource-root path="com.springsource.org.aopalliance-1.0.0.jar"/>
<resource-root path="org.springframework.aop-3.1.2.RELEASE.jar"/>
<resource-root path="org.springframework.asm-3.1.2.RELEASE.jar"/>
<resource-root path="org.springframework.aspects-3.1.2.RELEASE.jar"/>
<resource-root path="org.springframework.beans-3.1.2.RELEASE.jar"/>
<resource-root path="org.springframework.context-3.1.2.RELEASE.jar"/>
<resource-root path="org.springframework.context.support-3.1.2.RELEASE.jar"/>
<resource-root path="org.springframework.core-3.1.2.RELEASE.jar"/>
<resource-root path="org.springframework.expression-3.1.2.RELEASE.jar"/>
<resource-root path="org.springframework.jdbc-3.1.2.RELEASE.jar"/>
<resource-root path="org.springframework.jms-3.1.2.RELEASE.jar"/>
<resource-root path="org.springframework.transaction-3.1.2.RELEASE.jar"/>
<resource-root path="org.springframework.web-3.1.2.RELEASE.jar"/>
</resources>
<dependencies>
<dependencies>
<module name="org.apache.commons.logging"/>
<module name="org.slf4j"/>
<module name="org.jboss.vfs"/>
<module name="javax.persistence.api"/>
<module name="javax.xml.bind.api"/>
<module name="javax.api"/>
<module name="javax.jms.api"/>
<module name="javax.annotation.api"/>
<module name="org.apache.commons.logging"/>
</dependencies>
</dependencies>
</module>
Existe mais alguma configuração a ser feita para encontrar o modulo do Spring?
Segue a chamada do ejb para spring:
package br.com.exemplo;
import java.util.List;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import br.com.model.Usuario;
import br.com.spring.ClasseExemploBeanImp;
/**
* Session Bean implementation class ExemploEJB3
*/
@Stateless
@LocalBean
public class ExemploEJB3 implements ExemploEJB3Local {
@PersistenceContext
EntityManager em;
public static int vlr=0;
/**
* Default constructor.
*/
public ExemploEJB3() {
}
public String TesteDeEjb3(){
vlr++;
System.out.println("Teste de EJB3x no Jboss 7.1" + vlr);
List<Usuario> users = getUser();
for (Usuario usuario : users) {
System.out.println("Id: " + usuario.getId() + "\t" + "Nome: " + usuario.getNome());
}
BeanFactory bean = new ClassPathXmlApplicationContext("classpath:Beans.xml");
ClasseExemploBeanImp exemplo = (ClasseExemploBeanImp)bean.getBean("classeExemploBean");
System.out.println(exemplo.retorno());
return "Valor do Retorno é " + vlr;
}
@SuppressWarnings("unchecked")
public List<Usuario> getUser(){
return em.createQuery("Select u from Usuario u ").getResultList();
}
}
Desde já agradeço ao pessoal do GUJ valeu pela força!!!
Obrigado. :P :P