activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "michal kozakiewicz (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AMQ-765) ActiveMQ RA serialization issue on Glassfish
Date Wed, 07 Nov 2007 15:31:22 GMT

     [ 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.


Mime
View raw message