[ 
https://issues.apache.org/activemq/browse/AMQ-765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

michal kozakiewicz updated AMQ-765:
-----------------------------------

    Attachment: finest-log.txt

After further investigation :

In version 4.1.1 the manager is not transient and not null, but I think I am 
getting the same error with the transient managed connection factory. 

Everything starts here:

        @Resource(mappedName = "jms/UserUpdateConnectionFactory")
        private ConnectionFactory jmsConnectionFactory;

        @PostConstruct
        public void jmsConfigure()
        {
                        {....}
                        jmsConnection = 
jmsConnectionFactory.createConnection(); //at this point the 
jmsConnectionFactory is of class ActiveMQConnectionFactory but it's managed 
connection factory is null
                         {....}
        }

Iam not sure if this because I didnt configure something or because of the fact 
that managed connection factory is transient.

after calling ActiveMQConnectionFactory.createConnection the null mcf is passed 
to ConnectionManagerImpl.allocateConnection.
(http://fisheye5.cenqua.com/browse/glassfish/appserv-core/src/java/com/sun/enterprise/connectors/ConnectionManagerImpl.java?r=1.6#l231)

in this method there is a check:

if(_logger.isLoggable(Level.INFO)){
            if (! freshMCF.equals(mcf)) {
                _logger.info("conmgr.mcf_not_equal");
            }
        }

the fresh mcf retrieved from pool meta data PoolMetaData pmd = 
registry.getPoolMetaData( poolName );   ManagedConnectionFactory freshMCF = 
pmd.getMCF(); is a proper activemq mcf but the value is used only for logging 
purposes: 

this conmgr.mcf_not_equal translates to The mcf being used to allocate the 
connection and the MCF in the pool are not equal. in the attached 
log-finest.txt log file.

Finally when ConnectorAllocator.createResource method is called the mcf is null 
:
http://fisheye5.cenqua.com/browse/glassfish/appserv-core/src/java/com/sun/enterprise/resource/ConnectorAllocator.java?r=1.6#l136







> ActiveMQ RA serialization issue on Glassfish
> --------------------------------------------
>
>                 Key: AMQ-765
>                 URL: https://issues.apache.org/activemq/browse/AMQ-765
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Connector
>    Affects Versions: 4.0, 4.0.1
>         Environment: Glassfish
>            Reporter: Chris Conrad
>             Fix For: 5.2.0
>
>         Attachments: finest-log.txt, log.txt
>
>
> I've been trying to work through an issue with a NullPointerException run 
> using the JCA 1.5 resource adapter on Glassfish.  In the course of debugging, 
> Siva from the Glassfish team provided this information:
> "Thanks for trying out GlassFish. Since I have only the trace snippet above, 
> I tried to debug this problem by going through ActiveMQ RA's source available 
> at 
> https://svn.apache.org/repos/asf/incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/
> This is what I understand happens. Please correct me if there are errors. 
> When ActiveMQConnectionFactory 
> [https://svn.apache.org/repos/asf/incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQConnectionFactory.java]
>  is created at the createConnectionFactory method of 
> https://svn.apache.org/repos/asf/incubator/activemq/trunk/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQManagedConnectionFactory.java,
>  the ConnectionManager is initialized to a *transient* variable "manager". 
> Since ConnectionFactory instances can be serialized/deserialized while 
> publishing to JNDI (as is the case in Project GlassFish), the 
> connectionManager reference is lost and hence the NPE. The fix ideally should 
> be in the ActiveMQRA's code. You could copy me [sivakumart AT sun DOT com] 
> while you are discussing this with ActiveMQ, if you wish. If you still have 
> any issues, please provide a copy of your domain.xml [connector connection 
> pool, resource configuratin information] and the entire trace in server.log." 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to