Re: WebLogic
Jason <[email protected]> Wed, 26 Feb 2003 12:16:20 -0800
| Newsgroups | gmane.comp.java.sun.connector |
|---|---|
| Message-ID | <[email protected]> |
--- Deb June <[email protected]> wrote: > Sorry for the delay folks. > > Ok, here's the scoop. When a connection request is > made, WebLogic Server > returns to the client (via the resource adapter) a > Proxy object that wraps > the connection object. WebLogic Server uses this > proxy to provide features > that assist applications using the WebLogic Server > implementation of the > J2EE Connector Architecture. These features include > (1) connection leak > detection capabilities and (2) late XAResource > enlistment when a connection > request is made before starting a global transaction > that uses that > connection. This proxy wrapper was designed for > reasons similar to the > proxy that is returned from createEndPoint() > discussed in the Connector 1.5 > spec. > > If the connection object returned from a connection > request is cast as a > Connection class, a ClassCastException can occur. > This exception is caused > by either (1) the resource adapter doing the cast or > (2) the client doing > the cast during a connection request. > > In the next version of WLS - WebLogic Server 8.1 - > an attempt is made to > detect the ClassCastException caused by the resource > adapter (case (1), > above). If the server detects that this cast is > failing, it turns off the > proxy wrapper feature and proceeds by returning the > connection object > during a connection request (unwrapped). The server > logs a warning message > to indicate that the proxy wrapper has been turned > off. > > If the client is doing the cast and getting a > ClassCastException OR for > pre-8.1 WLS, the customer (client) code can be > modified as follows: > > Example: The client is casting the connection object > to MyConnection > > 1) Instead of MyConnection being a class that > implements the resource > adapter's Connection interface, modify it to be an > interface that extends > Connection. > > 2) Implement a MyConnectionImpl class that > implements the MyConnection > interface. Deb, Thanks for taking the time to reply both to the group and to my personal email. I've attempted your suggestions but I'm still having the same problem. Maybe I misinterpreted something in your suggestion. Before I explain in detail, what I've done I wanted to post my stack trace one more time. Here it is: java.lang.ClassCastException: javax.naming.CompositeName at weblogic.connector.common.internal.SecurityContext.list(SecurityContext.java:459) at weblogic.connector.common.internal.SecurityContext.list(SecurityContext.java:443) at weblogic.connector.common.internal.SecurityContext.checkResourceReference(SecurityContext.java:428) at weblogic.connector.common.internal.SecurityContext.initSecurityContext(SecurityContext.java:98) at weblogic.connector.common.internal.SecurityContext.<init>(SecurityContext.java:77) at weblogic.connector.common.internal.ConnectionPool.getConnection(ConnectionPool.java:1704) at weblogic.connector.common.internal.ConnectionPoolManager.getConnection(ConnectionPoolManager.java:190) at weblogic.connector.common.internal.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:25) at com.mycompany.resource.impl.ConnectionFactoryImpl.getConnection(ConnectionFactoryImpl.java:183) at jsp_servlet.__main._jspService(__main.java:118) at weblogic.servlet.jsp.JspBase.service(JspBase.java:27) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445) at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189) The reason I'm reposting this is to point out that the cce occurs from within this line of my ConnectionFactoryImpl: Connection conn = (Connection) m_cm.allocateConnection(m_mcf, info); It doesn't seem as though I've even done a cast yet! Do you still think that your diagnosis is correct? Thanks. -Jason __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ =========================================================================== To unsubscribe, send email to [email protected] and include in the body of the message "signoff CONNECTOR-INTEREST". For general help, send email to [email protected] and include in the body of the message "help".