[
http://jira.jboss.com/jira/browse/JBMESSAGING-476?page=all ]
Joel Lindheimer updated JBMESSAGING-476:
----------------------------------------
Attachment: TestConsumer.java
Here is the consumer; To run this you will need to comment out the ConfigHelper since that
is part of our codebase and will keep the class from compiling. It is just a convience
class allowing me to switch from commit to rollback modes.
Reoccuring Consumer endpoint activation failed Error
----------------------------------------------------
Key: JBMESSAGING-476
URL:
http://jira.jboss.com/jira/browse/JBMESSAGING-476
Project: JBoss Messaging
Issue Type: Feature Request
Components: Messaging Core
Affects Versions: 1.0.0
Environment: Windows XP
Reporter: Joel Lindheimer
Assigned To: Ovidiu Feodorov
Attachments: TestConsumer.java
I left my server running after running some tests with my TestConsumer. It started
printing the following ERROR every so often:
"ERROR [MessageCallbackHandler] Consumer endpoint activation failed
javax.jms.JMSSecurityException: User guest is NOT authenticated"
While I was running tests in both commit and rollback mode, I noticed the stacktrace
while running in commit() mode.
I here is the bulk of what the test consumer looks like:
public class TestConsumer implements Runnable {
public void run() {
(...)
while (true) {
log.warn("whileloop+");
ut = (UserTransaction)
getInitialContext().lookup("UserTransaction");
ut.begin();
conn = (QueueConnection) this.getQueueFactory().createQueueConnection();
conn.start();
session = conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
receiver = session.createReceiver(getQueue());
TextMessage msg = (TextMessage) receiver.receive(5000);
receiver.close();
session.close();
conn.close();
log.warn("msg: " + msg);
if(msg!=null) {
log.warn("msg.text: " +msg.getText());
}
if(ConfigHelper.getBoolean("test.jms.consumer.commit")) {
ut.commit();
} else {
ut.rollback();
}
log.warn("whileloop-");
(...)
}
}
You will need to add the following to your startup servlet init() method:
TestConsumer tc = new TestConsumer();
Thread thread = new Thread(tc);
thread.setDaemon(true);
thread.start();
Here is the ERROR/stacktrace:
14:01:50,755 ERROR [MessageCallbackHandler] Consumer endpoint activation failed
javax.jms.JMSSecurityException: User guest is NOT authenticated
at
org.jboss.jms.server.security.SecurityMetadataStore.authenticate(SecurityMetadataStore.java:181)
at org.jboss.jms.server.container.SecurityAspect.check(SecurityAspect.java:252)
at
org.jboss.jms.server.container.SecurityAspect.checkConsumerAccess(SecurityAspect.java:174)
at
org.jboss.jms.server.container.SecurityAspect.handleGetMessageNow(SecurityAspect.java:155)
at sun.reflect.GeneratedMethodAccessor212.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:130)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at
org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
at
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aop.Advisor.dynamicInvoke(Advisor.java:723)
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:101)
at
org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:126)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:842)
at
org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:82)
at org.jboss.remoting.Client.invoke(Client.java:610)
at org.jboss.remoting.Client.invoke(Client.java:602)
at
org.jboss.jms.client.delegate.DelegateSupport.invoke(DelegateSupport.java:112)
at
org.jboss.jms.client.delegate.ClientConsumerDelegate$getMessageNow_5405025797982928611.invokeNext(C
lientConsumerDelegate$getMessageNow_5405025797982928611.java)
at
org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:134)
at
org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:117)
at
org.jboss.jms.client.delegate.ClientConsumerDelegate$getMessageNow_5405025797982928611.invokeNext(C
lientConsumerDelegate$getMessageNow_5405025797982928611.java)
at
org.jboss.jms.client.container.ExceptionInterceptor.invoke(ExceptionInterceptor.java:69)
at
org.jboss.jms.client.delegate.ClientConsumerDelegate$getMessageNow_5405025797982928611.invokeNext(C
lientConsumerDelegate$getMessageNow_5405025797982928611.java)
at
org.jboss.jms.client.container.ClientLogInterceptor.invoke(ClientLogInterceptor.java:107)
at
org.jboss.jms.client.delegate.ClientConsumerDelegate$getMessageNow_5405025797982928611.invokeNext(C
lientConsumerDelegate$getMessageNow_5405025797982928611.java)
at
org.jboss.jms.client.delegate.ClientConsumerDelegate.getMessageNow(ClientConsumerDelegate.java)
at
org.jboss.jms.client.remoting.MessageCallbackHandler$ConsumerActivationRunnable.run(MessageCallback
Handler.java:781)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
at java.lang.Thread.run(Thread.java:595)
(...repeats several times...)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira