2 Replies Latest reply on Mar 23, 2011 2:57 PM by joseguerra

    Glassfish 3.1 exception using ActiveMQ RA

    joseguerra

      Hi,
      I got a weird problem creating a queue with Glassfish 3.1 and ActiveMQ  5.4.2 RA. On Glassfish 3.01 there is no problem at all, you can create queues with this RA nicely , so I wonder  whether this can be a Glassfish 3.1 issue.
      The resource adaptor is deployed ok and the connection with the broker is also ok, but when I attempt to  create a queue (MyQueue) using this RA, Glassfish threw out  the exception:

      FINE: Couldnot find Connector descriptor in connector registry.
      FINE: Couldnot find Connector descriptor in connector registry.
      
      FINE: Couldnot find Connector descriptor in connector registry.
      FINE: Method -> setName:void
      FINE: Method -> getReference:class javax.naming.Reference
      FINE: Method -> getDescription:class java.lang.String
      FINE: Method -> setDescription:void
      FINE: Method -> equals:boolean
      FINE: Method -> hashCode:int
      FINE: Method -> isQueue:boolean
      FINE: Method -> isTemporary:boolean
      FINE: Method -> toString:class java.lang.String
      FINE: Method -> getName:class java.lang.String
      FINE: Method -> getQueueName:class java.lang.String
      FINE: Method -> getTopicName:class java.lang.String
      FINE: Method -> setDefaultConfiguration:void
      FINE: Method -> validate_imqDestinationName:class java.lang.Boolean
      FINE: Method -> setProperty:class java.lang.String
      FINE: Method -> getProperty:class java.lang.String
      FINE: Method -> setReadOnly:void
      FINE: Method -> isReadOnly:boolean
      FINE: Method -> getConfiguration:class java.util.Properties
      FINE: Method -> dump:class java.lang.String
      FINE: Method -> getPropertyType:class java.lang.String
      FINE: Method -> getStoredVersion:class java.lang.String
      FINE: Method -> isStoredVersionCompatible:boolean
      FINE: Method -> getPropertyGroups:class java.lang.String
      FINE: Method -> getPropertiesForGroup:class java.lang.String
      FINE: Method -> getLabelForGroup:class java.lang.String
      FINE: Method -> getPropertyListValues:class java.lang.String
      FINE: Method -> getPropertyForListValue:class java.lang.String
      FINE: Method -> getPropertyValueForListValue:class java.lang.String
      FINE: Method -> getPropertyListOtherName:class java.lang.String
      FINE: Method -> enumeratePropertyNames:interface java.util.Enumeration
      FINE: Method -> getPropertyLabel:class java.lang.String
      FINE: Method -> isPropertyHidden:boolean
      FINE: Method -> isPropertyDeprecated:boolean
      FINE: Method -> getVERSION:class java.lang.String
      FINE: Method -> getCurrentConfiguration:class java.util.Properties
      FINE: Method -> wait:void
      FINE: Method -> wait:void
      FINE: Method -> wait:void
      FINE: Method -> getClass:class java.lang.Class
      FINE: Method -> notify:void
      FINE: Method -> notifyAll:void
      
      FINE: Found/returing Connector descriptor in connector registry.
      FINE: Found/returing Connector descriptor in connector registry.
      FINE: Found/returing Connector descriptor in connector registry.
      FINE: returning the connector registry
      FINE: Method -> getDestinationType:byte
      FINE: Method -> isQueue:boolean
      FINE: Method -> getQueueName:class java.lang.String
      FINE: Method -> getDataStructureType:byte
      FINE: Method -> equals:boolean
      FINE: Method -> toString:class java.lang.String
      FINE: Method -> hashCode:int
      FINE: Method -> compareTo:int
      FINE: Method -> compare:int
      FINE: Method -> transform:class org.apache.activemq.command.ActiveMQDestination
      FINE: Method -> readExternal:void
      FINE: Method -> writeExternal:void
      FINE: Method -> getQualifiedName:class java.lang.String
      FINE: Method -> isComposite:boolean
      FINE: Method -> getOptions:interface java.util.Map
      FINE: Method -> isPattern:boolean
      FINE: Method -> isTemporary:boolean
      FINE: Method -> buildFromProperties:void
      FINE: Method -> populateProperties:void
      FINE: Method -> getPhysicalName:class java.lang.String
      FINE: Method -> createDestination:class org.apache.activemq.command.ActiveMQDestination
      FINE: Method -> createDestination:class org.apache.activemq.command.ActiveMQDestination
      FINE: Method -> getCompositeDestinations:class [Lorg.apache.activemq.command.ActiveMQDestination;
      FINE: Method -> setCompositeDestinations:void
      FINE: Method -> setPhysicalName:void
      FINE: Method -> getDestinationPaths:class [Ljava.lang.String;
      FINE: Method -> isTopic:boolean
      FINE: Method -> getDestinationTypeAsString:class java.lang.String
      FINE: Method -> isMarshallAware:boolean
      FINE: Method -> getProperties:class java.util.Properties
      FINE: Method -> setProperties:void
      FINE: Method -> getReference:class javax.naming.Reference
      FINE: Method -> wait:void
      FINE: Method -> wait:void
      FINE: Method -> wait:void
      FINE: Method -> getClass:class java.lang.Class
      FINE: Method -> notify:void
      FINE: Method -> notifyAll:void
      
      FINE: Found/returing Connector descriptor in connector registry.
      FINE: A com.sun.enterprise.config.serverbeans.Resources was changed : GlassFishConfigBean.com.sun.enterprise.config.serverbeans.Resources
      FINE: Calling backend to delete adminObject
      FINE: RAR6029 : Failed to delete admin object from jndi : MyQueue
      FINE: javax.naming.NameNotFoundException: Cannot find name to unbind
      at com.sun.enterprise.naming.impl.TransientContext.doUnbind(TransientContext.java:398)
      at com.sun.enterprise.naming.impl.TransientContext.unbind(TransientContext.java:420)
      at com.sun.enterprise.naming.impl.SerialContextProviderImpl.unbind(SerialContextProviderImpl.java:124)
      at com.sun.enterprise.naming.impl.SerialContext.unbind(SerialContext.java:740)
      at javax.naming.InitialContext.unbind(InitialContext.java:416)
      at javax.naming.InitialContext.unbind(InitialContext.java:416)
      at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.unpublishObject(GlassfishNamingManagerImpl.java:246)
      at com.sun.appserv.connectors.internal.api.ResourceNamingService.unpublishObject(ResourceNamingService.java:184)
      at com.sun.enterprise.connectors.service.ConnectorAdminObjectAdminServiceImpl.deleteAdminObject(ConnectorAdminObjectAdminServiceImpl.java:103)
      at com.sun.enterprise.connectors.ConnectorRuntime.deleteAdminObject(ConnectorRuntime.java:1154)
      at com.sun.enterprise.resource.deployer.AdminObjectResourceDeployer.deleteAdminObjectResource(AdminObjectResourceDeployer.java:153)
      at com.sun.enterprise.resource.deployer.AdminObjectResourceDeployer.undeployResource(AdminObjectResourceDeployer.java:146)
      at com.sun.enterprise.resource.deployer.AdminObjectResourceDeployer.redeployResource(AdminObjectResourceDeployer.java:192)
      at org.glassfish.javaee.services.ResourceManager$PropertyChangeHandler.handleChangeEvent(ResourceManager.java:378)
      at org.glassfish.javaee.services.ResourceManager$PropertyChangeHandler.changed(ResourceManager.java:328)
      at org.jvnet.hk2.config.ConfigSupport.sortAndDispatch(ConfigSupport.java:332)
      at org.glassfish.javaee.services.ResourceManager.changed(ResourceManager.java:275)
      at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:379)
      at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:369)
      at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:259)
      at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:257)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:662)
      
      FINE: Deleted adminObject in backend
      FINE: ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
      FINE: ResourcesUtil :: isApplicationReferenceEnabled appRef enabled ?true
      INFO: RAR8029: Resource [ MyQueue ] of type [ aor ] is not enabled
      FINE: Calling backend to delete adminObject
      FINE: RAR6029 : Failed to delete admin object from jndi : MyQueue
      FINE: javax.naming.NameNotFoundException: Cannot find name to unbind
      at com.sun.enterprise.naming.impl.TransientContext.doUnbind(TransientContext.java:398)
      at com.sun.enterprise.naming.impl.TransientContext.unbind(TransientContext.java:420)
      at com.sun.enterprise.naming.impl.SerialContextProviderImpl.unbind(SerialContextProviderImpl.java:124)
      at com.sun.enterprise.naming.impl.SerialContext.unbind(SerialContext.java:740)
      at javax.naming.InitialContext.unbind(InitialContext.java:416)
      at javax.naming.InitialContext.unbind(InitialContext.java:416)
      at com.sun.enterprise.naming.impl.GlassfishNamingManagerImpl.unpublishObject(GlassfishNamingManagerImpl.java:246)
      at com.sun.appserv.connectors.internal.api.ResourceNamingService.unpublishObject(ResourceNamingService.java:184)
      at com.sun.enterprise.connectors.service.ConnectorAdminObjectAdminServiceImpl.deleteAdminObject(ConnectorAdminObjectAdminServiceImpl.java:103)
      at com.sun.enterprise.connectors.ConnectorRuntime.deleteAdminObject(ConnectorRuntime.java:1154)
      at com.sun.enterprise.resource.deployer.AdminObjectResourceDeployer.deleteAdminObjectResource(AdminObjectResourceDeployer.java:153)
      at com.sun.enterprise.resource.deployer.AdminObjectResourceDeployer.undeployResource(AdminObjectResourceDeployer.java:146)
      at com.sun.enterprise.resource.deployer.AdminObjectResourceDeployer.redeployResource(AdminObjectResourceDeployer.java:192)
      at org.glassfish.javaee.services.ResourceManager$PropertyChangeHandler.handleChangeEvent(ResourceManager.java:383)
      at org.glassfish.javaee.services.ResourceManager$PropertyChangeHandler.changed(ResourceManager.java:328)
      at org.jvnet.hk2.config.ConfigSupport.sortAndDispatch(ConfigSupport.java:332)
      at org.glassfish.javaee.services.ResourceManager.changed(ResourceManager.java:275)
      at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:379)
      at org.jvnet.hk2.config.Transactions$ConfigListenerJob.process(Transactions.java:369)
      at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:259)
      at org.jvnet.hk2.config.Transactions$ConfigListenerNotifier$1$1.call(Transactions.java:257)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:662)
      
      FINE: Deleted adminObject in backend
      FINE: ResourcesUtil :: isResourceReferenceEnabled ref enabled ?true
      FINE: ResourcesUtil :: isApplicationReferenceEnabled appRef enabled ?true
      INFO: RAR8029: Resource [ MyQueue ] of type [ aor ] is not enabled
      

      If anyone here have an idea about what's going on, please, drop me a line to see whether i can fix it.
      Thanks

        • 1. Glassfish 3.1 exception using
          jr158900

          It looks like the admin-object resource is not enabled.

          In your domain.xml, you can make sure whether the element "<admin-object-resource>" with

          attribute "jndi-name"="MyQueue" and the attribute "enabled" is either not shown or "enabled" attribute is "true".

          It should not be of value "false"

          Also, there will be an element <resource-ref ref="MyQueue">. This should also have "enabled" attribute as "true".

           

           

           

          • 2. Glassfish 3.1 exception using
            joseguerra

            Awesome !!!

            Thanks for your tweaks, it works!

            I am not sure whether I made something wrong on the administrator  when i created the queue but I'd encline to say this is a GF3.1 issue.  Anyways thanks for your feedback!