[jboss-jira] [JBoss JIRA] Closed: (JBAS-5949) Queue-ConsumerBean always starts TopicSession (Oracle Patch 10g)

Adrian Brock (JIRA) jira-events at lists.jboss.org
Thu Sep 11 07:43:38 EDT 2008


     [ https://jira.jboss.org/jira/browse/JBAS-5949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adrian Brock closed JBAS-5949.
------------------------------

    Resolution: Out of Date
      Assignee:     (was: Adrian Brock)


There's very little point raising bug reports against old versions.
A bug report should only be raised when you can reproduce the problem in the latest version.

The code you reference doesn't even exist in JBoss5

The jms inbound resource adapter uses the 'destinationType" activation spec property.

   /**
    * @param destinationType The destinationType to set.
    */
   public void setDestinationType(String destinationType)
   {
      if (Topic.class.getName().equals(destinationType))
         this.isTopic = true;
      else
         this.isTopic = false;
   }

The jms inbound resource adapter is also available in jboss4, but you
have to explicitly configure it.

ASK IN THE FORUMS if you can't figure out how to do it from the docs.

> Queue-ConsumerBean always starts TopicSession (Oracle Patch 10g)
> ----------------------------------------------------------------
>
>                 Key: JBAS-5949
>                 URL: https://jira.jboss.org/jira/browse/JBAS-5949
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: JMS (JBossMQ)
>    Affects Versions: JBossAS-4.0.3 SP1
>            Reporter: Andy Cortvriend
>
> Hi,
> I made this bug as duplicate as the JBAS-1119, because it still exists in JBossAS-4.0.3 SP1.
> I debugged my application and even with the fix of JBAS-1119, the StdServerSessionPool still creates a TopicSession.
> The reason for the creation of the TopicSession is that not only the AQJmsConnection implements both the QueueConnection and the TopicConnection interface, but also the AQJmsDestination implements both the Queue and Topic interface. So when the oracle connection is used, always a topic session will be created
> <code>
> if (destination instanceof Topic && con instanceof XATopicConnection)
>          {
>             xaSes = ((XATopicConnection)con).createXATopicSession();
>             ses = ((XATopicSession)xaSes).getTopicSession();
>          }
>          else if (destination instanceof Queue && con instanceof XAQueueConnection)
>          {
>             xaSes = ((XAQueueConnection)con).createXAQueueSession();
>             ses = ((XAQueueSession)xaSes).getQueueSession();
>          }
>          else if (destination instanceof Topic && con instanceof TopicConnection) // ALWAYS THIS WILL BE TRUE, EVEN WHEN MDB IS DEFINED AS QUEUE
>          {
>             ses = ((TopicConnection)con).createTopicSession(transacted, ack);
>             log.warn("Using a non-XA TopicConnection.  " +
>                   "It will not be able to participate in a Global UOW");
>          }
>          else if (destination instanceof Queue && con instanceof QueueConnection)
>          {
>             ses = ((QueueConnection)con).createQueueSession(transacted, ack);
>             log.warn("Using a non-XA QueueConnection.  " +
>                   "It will not be able to participate in a Global UOW");
>          }
>          else
>          {
>             throw new JMSException("Connection was not reconizable: " + con + " for destination " + destination);
>          }
> </code>
> stacktrace:
> org.jboss.deployment.DeploymentException: Error during queue setup; - nested throwable: (oracle.jms.AQjmsException: JMS-107: Operation not allowed on QueueConnection)
> 	at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:39)
> 	at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerStartDelivery(JMSContainerInvoker.java:906)
> 	at org.jboss.ejb.plugins.jms.JMSContainerInvoker.startService(JMSContainerInvoker.java:932)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> 	at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)
> 	at $Proxy0.start(Unknown Source)
> 	at org.jboss.system.ServiceController.start(ServiceController.java:428)
> 	at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> 	at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:179)
> 	at org.jboss.ejb.MessageDrivenContainer.startService(MessageDrivenContainer.java:262)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> 	at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)
> 	at $Proxy0.start(Unknown Source)
> 	at org.jboss.system.ServiceController.start(ServiceController.java:428)
> 	at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> 	at $Proxy60.start(Unknown Source)
> 	at org.jboss.ejb.EjbModule.startService(EjbModule.java:395)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:274)
> 	at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:230)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> 	at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:943)
> 	at $Proxy0.start(Unknown Source)
> 	at org.jboss.system.ServiceController.start(ServiceController.java:428)
> 	at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> 	at $Proxy21.start(Unknown Source)
> 	at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:627)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
> 	at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:80)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> 	at $Proxy22.start(Unknown Source)
> 	at org.jboss.deployment.MainDeployer.start(MainDeployer.java:989)
> 	at org.jboss.deployment.MainDeployer.start(MainDeployer.java:979)
> 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:790)
> 	at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:753)
> 	at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
> 	at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
> 	at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:118)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
> 	at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:127)
> 	at org.jboss.mx.server.Invocation.invoke(Invocation.java:74)
> 	at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:245)
> 	at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:644)
> 	at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
> 	at $Proxy9.deploy(Unknown Source)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:319)
> 	at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:489)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:192)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:203)
> 	at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:182)
> Caused by: oracle.jms.AQjmsException: JMS-107: Operation not allowed on QueueConnection
> 	at oracle.jms.AQjmsError.throwEx(AQjmsError.java:319)
> 	at oracle.jms.AQjmsConnection.createTopicSession(AQjmsConnection.java:698)
> 	at oracle.jms.AQjmsConnectionWrapper.createTopicSession(AQjmsConnectionWrapper.java:106)
> 	at org.jboss.jms.asf.StdServerSessionPool.create(StdServerSessionPool.java:356)
> 	at org.jboss.jms.asf.StdServerSessionPool.<init>(StdServerSessionPool.java:169)
> 	at org.jboss.jms.asf.StdServerSessionPoolFactory.getServerSessionPool(StdServerSessionPoolFactory.java:64)
> 	at org.jboss.ejb.plugins.jms.JMSContainerInvoker.createSessionPool(JMSContainerInvoker.java:1259)
> 	at org.jboss.ejb.plugins.jms.JMSContainerInvoker.innerStartDelivery(JMSContainerInvoker.java:878)
> 	... 112 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list