galera,
alguem sabe me dizer porque da erro de fila não encontrada?
Eu mapeiei esse arquivo no jboss (dentro da pasta deploy)<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=fila-email">
<attribute name="JNDIName">fila-email</attribute>
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
</server>
22:04:07,080 INFO [ContainerDependencyMetaData] addJndiDependency, JndiDependencyMetaData@7551313a{fila-email}
22:04:13,169 INFO [QueueService] Queue[fila-email] started, fullSize=200000, pageSize=2000, downCacheSize=2000
22:04:13,278 INFO [ConnectionFactory] Connector bisocket://127.0.0.1:4457 has leasing enabled, lease period 10000 milliseconds
22:04:13,278 INFO [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@619988c4 started
22:04:13,278 INFO [QueueService] Queue[/queue/DLQ] started, fullSize=200000, pageSize=2000, downCacheSize=2000
22:04:50,159 ERROR [TxPolicy] javax.ejb.EJBTransactionRolledbackException: Unable to inject jndi dependency: env/br.com.condo.impl.MensageiroBean/fabrica into property br.com.condo.impl.MensageiroBean.fabrica: QueueConnectionFactory not bound
22:04:50,159 ERROR [STDERR] 02/03/2011 22:04:50 javax.faces.event.MethodExpressionActionListener processAction
GRAVE: 'javax.ejb.EJBTransactionRolledbackException' recebido ao invocar escuta de ação '#{usuarioMB.cadastrarUsuario}' para o componente 'j_idt45'
22:04:50,175 ERROR [STDERR] 02/03/2011 22:04:50 javax.faces.event.MethodExpressionActionListener processAction
GRAVE: javax.ejb.EJBTransactionRolledbackException: Unable to inject jndi dependency: env/br.com.condo.impl.MensageiroBean/fabrica into property br.com.condo.impl.MensageiroBean.fabrica: QueueConnectionFactory not bound
at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:115)
at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:194)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.security.RoleBasedAuthorizationInterceptorv2.invoke(RoleBasedAuthorizationInterceptorv2.java:201)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:186)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:219)
at org.jboss.ejb3.proxy.handler.ProxyInvocationHandlerBase.invoke(ProxyInvocationHandlerBase.java:261)
at org.jboss.ejb3.proxy.handler.session.SessionSpecProxyInvocationHandlerBase.invoke(SessionSpecProxyInvocationHandlerBase.java:101)
at $Proxy162.enviaMensagem(Unknown Source)
Caused by: javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.NameNotFoundException: QueueConnectionFactory not bound]
at org.jnp.interfaces.NamingContext.resolveLink(NamingContext.java:1348)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:813)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:682)
at org.jboss.ejb3.JndiUtil.lookup(JndiUtil.java:44)
at org.jboss.injection.JndiPropertyInjector.lookup(JndiPropertyInjector.java:75)
@Stateless
@Local(Mensageiro.class)
public class MensageiroBean implements Mensageiro
{
private static final long serialVersionUID = 1L;
@Resource(mappedName="QueueConnectionFactory")
private QueueConnectionFactory fabrica;
@Resource(mappedName="fila-email")
private Queue queue;
public void enviaMensagem(EmailVo emailVo)
{
try
{
Connection conexao = this.fabrica.createConnection();
Session sessao = conexao.createSession(true, Session.AUTO_ACKNOWLEDGE);
MessageProducer produtor = sessao.createProducer(this.queue);
TextMessage textMessage = sessao.createTextMessage();
textMessage.setText(emailVo.getCorpoEmail());
System.out.println("email sendo enviado");
produtor.send(textMessage);
produtor.close();
conexao.close();
}
catch(JMSException e)
{
e.printStackTrace();
throw new EJBException(e);
}
}
}
@MessageDriven(activationConfig={@ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
@ActivationConfigProperty(propertyName="destination", propertyValue="fila-email")})
public class Email implements MessageListener
{
/**
* Default constructor.
*/
public Email()
{
}
/**
* @see MessageListener#onMessage(Message)
*/
public void onMessage(Message message)
{
try
{
String texto = ((TextMessage) message).getText();
System.out.println("Fila de Email processando informação: " + texto);
}
catch(JMSException e)
{
e.printStackTrace();
throw new EJBException(e);
}
}
}
Alguem tem uma ideia pq nao consegue achar essa fila?