You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Shenghao Fang (JIRA)" <ji...@apache.org> on 2010/12/22 09:48:02 UTC

[jira] Issue Comment Edited: (GERONIMO-5741) java.lang.ClassCastException at JCAConnectionFactoryImpl.getManagedConnectionFactoryInstance() line: 64

    [ https://issues.apache.org/jira/browse/GERONIMO-5741?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12974112#action_12974112 ] 

Shenghao Fang edited comment on GERONIMO-5741 at 12/22/10 3:47 AM:
-------------------------------------------------------------------

Initial Analysis:

Code segments of org.apache.geronimo.connector.wrapper.outbound.JCAConnectionFactoryImpl

{code:title=JCAConnectionFactoryImpl.java|borderStyle=solid}
46    private final GenericConnectionManagerGBean connectionManager;
...
62    @Override
63    public JCAManagedConnectionFactory getManagedConnectionFactoryInstance() {
64        return ((JCAManagedConnectionFactory)connectionManager.getManagedConnectionFactory());
65    }
{code}

At line 64, the type of connectionManager is GenericConnectionManagerGBean, and GenericConnectionManagerGBean is inherited from AbstractConnectionManager. So the actual called method is AbstractConnectionManger.getManagedConnectionFactory().

Code segments of org.apache.geronimo.connector.outbound.AbstractConnectionManager

{code:title=AbstractConnectionManager.java|borderStyle=solid}
61    public ManagedConnectionFactory getManagedConnectionFactory() {
62        return managedConnectionFactory;
63    }
{code}

AbstractConnectionManger.getManagedConnectionFactory() returns an instance of type ManagedConnectionFactory which does not implement the Interface JCAManagedConnectionFactory.


      was (Author: michael_fang):
    Initial Analysis:

Code segments of org.apache.geronimo.connector.wrapper.outbound.JCAConnectionFactoryImpl

46    private final GenericConnectionManagerGBean connectionManager;
...
62    @Override
63    public JCAManagedConnectionFactory getManagedConnectionFactoryInstance() {
64        return ((JCAManagedConnectionFactory)connectionManager.getManagedConnectionFactory());
65    }

At line 64, the type of connectionManager is GenericConnectionManagerGBean, and GenericConnectionManagerGBean is inherited from AbstractConnectionManager.
So the actual called method is AbstractConnectionManger.getManagedConnectionFactory().

Code segments of org.apache.geronimo.connector.outbound.AbstractConnectionManager

61    public ManagedConnectionFactory getManagedConnectionFactory() {
62        return managedConnectionFactory;
63    }

AbstractConnectionManger.getManagedConnectionFactory() returns an instance of type ManagedConnectionFactory which does not implement the Interface JCAManagedConnectionFactory.

  
> java.lang.ClassCastException at JCAConnectionFactoryImpl.getManagedConnectionFactoryInstance() line: 64
> -------------------------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-5741
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-5741
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: connector
>    Affects Versions: 3.0-M1
>         Environment: Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
>            Reporter: Shenghao Fang
>            Assignee: Shenghao Fang
>
> When trying to fix the JIRA [GERONIMO-5597|https://issues.apache.org/jira/browse/GERONIMO-5597], I got an error of java.lang.ClassCastException at JCAConnectionFactoryImpl.getManagedConnectionFactoryInstance() line: 64.
> The details and call stack are as follows:
> java.lang.ClassCastException: org.apache.activemq.ra.ActiveMQManagedConnectionFactory cannot be cast to org.apache.geronimo.management.geronimo.JCAManagedConnectionFactory at
> 	JCAConnectionFactoryImpl.getManagedConnectionFactoryInstance() line: 64	
> 	JCAResourceImpl.getOutboundFactories(String[]) line: 89	
> 	KernelManagementHelper.getOutboundRAModules(J2EEServer, String[]) line: 146	
> 	KernelManagementHelper.getOutboundRAModules(J2EEServer, String) line: 132	
> 	PortletManager.getOutboundRAModules(PortletRequest, String) line: 168	
> 	DatabasePoolPortlet.populatePoolList(PortletRequest) line: 774	
> 	DatabasePoolPortlet.renderList(RenderRequest, RenderResponse) line: 769	
> 	DatabasePoolPortlet.doView(RenderRequest, RenderResponse) line: 724	
> 	DatabasePoolPortlet(GenericPortlet).doDispatch(RenderRequest, RenderResponse) line: 348	
> 	DatabasePoolPortlet(GenericPortlet).render(RenderRequest, RenderResponse) line: 253	
> 	DatabasePoolPortlet(BasePortlet).render(RenderRequest, RenderResponse) line: 153	
> 	...

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