Caros,
estou tentando aprender JMS.
E estou fazendo um exemplo JMS e está dando erro abaixo.
Alguém poderia me ajudar…
abs
11:14:30,406 INFO [EARDeployer] Init J2EE application: file:/C:/jboss-4.2.2.GA
server/default/deploy/jms.ear
11:14:34,500 WARN [verifier] EJB spec violation:
Bean : J2EEBrasilMDB
Section: 15.7.2
Warning: A message driven bean must implement, directly or indirectly, the java
.ejb.MessageDrivenBean interface.
11:14:34,500 WARN [verifier] EJB spec violation:
Bean : J2EEBrasilMDB
Section: 15.7.2
Warning: A message driven bean must implement, directly or indirectly, the mess
ge listener class
11:14:34,500 WARN [verifier] EJB spec violation:
Bean : J2EEBrasilMDB
Section: 15.7.3
Warning: The message driven bean must declare one ejbCreate() method.
11:14:34,500 WARN [verifier] EJB spec violation:
Bean : J2EEBrasilMDB
Section: 15.7.4
Warning: The message driven bean must declare one onMessage() method.
11:14:34,500 WARN [verifier] EJB spec violation:
Bean : J2EEBrasilMDB
Section: 15.7.5
Warning: The message driven bean must declare one ejbRemove() method.
11:14:34,500 ERROR [MainDeployer] Could not create deployment: file:/C:/jboss-4.
2.2.GA/server/default/tmp/deploy/tmp41004jms.ear-contents/jms.jar
org.jboss.deployment.DeploymentException: Verification of Enterprise Beans faile
d, see above for error messages.
at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:610)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:142)
at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor
.java:97)
at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(Intercepto
rServiceMBeanSupport.java:238)
at org.jboss.wsf.container.jboss42.DeployerInterceptor.create(DeployerIn
terceptor.java:76)
at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.
create(SubDeployerInterceptorSupport.java:180)
at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterce
ptor.java:91)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy32.create(Unknown Source)
at org.jboss.deployment.MainDeployer.create(MainDeployer.java:969)
at org.jboss.deployment.MainDeployer.create(MainDeployer.java:959)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:818)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:133)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:142)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
at $Proxy9.deploy(Unknown Source)
at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymen
tScanner.java:421)
at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentS
canner.java:634)
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.
doScan(AbstractDeploymentScanner.java:263)
at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(A
bstractDeploymentScanner.java:336)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanS
upport.java:289)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMB
<ejb-jar>
<description><![CDATA[Sem Descricao.]]></description>
<display-name>Gerado pelo XDoclet</display-name>
<enterprise-beans>
<!-- Session Beans -->
<session >
<description><![CDATA[]]></description>
<ejb-name>Calculadora</ejb-name>
<!-- home>aplicacao.CalculadoraHome</home-->
<!-- >remote>aplicacao.Calculadora</remote-->
<local-home>aplicacao.CalculadoraLocalHome</local-home>
<local>aplicacao.CalculadoraLocal</local>
<ejb-class>aplicacao.CalculadoraBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor > </assembly-descriptor>
</ejb-jar>
--
--jboss.xml
<jboss>
<unauthenticated-principal>nobody</unauthenticated-principal>
<enterprise-beans>
<session>
<ejb-name>J2EEBrasilMDB</ejb-name>
<jndi-name>J2EEBrasil</jndi-name>
</session>
</enterprise-beans>
<resource-managers> </resource-managers>
</jboss>
public class MessageBean implements MessageDrivenBean, MessageListener {
protected MessageDrivenContext contexto;
/* Chamado quando o Bean for inicializado */
public void ejbCreate() {
System.out.println("Componente Criado");
}
@Override
public void ejbRemove() throws EJBException {
System.out.println("Sendo removido");
}
@Override
public void setMessageDrivenContext(MessageDrivenContext arg0)
throws EJBException {
contexto = arg0;
}
@Override
/* Método da lógica de negócio */
public void onMessage(Message msg) {
if (msg instanceof TextMessage) {
TextMessage msgTexto = (TextMessage) msg;
try {
System.out.println("O texto informado " + msgTexto.getText());
}
catch (JMSException e ) {
e.printStackTrace();
}
}
}
}
--
public class LogBean {
}