You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Michael Dick (JIRA)" <ji...@apache.org> on 2007/03/29 05:50:25 UTC

[jira] Created: (OPENJPA-192) WASManagedRuntime's tm is used despite exception initializing WASManagedRuntime.

WASManagedRuntime's tm is used despite exception initializing WASManagedRuntime. 
---------------------------------------------------------------------------------

                 Key: OPENJPA-192
                 URL: https://issues.apache.org/jira/browse/OPENJPA-192
             Project: OpenJPA
          Issue Type: Bug
            Reporter: Michael Dick


Phill Moran reported a problem with WASManagedRuntime and Spring. Attached is the relevant portion of the stack trace : 

org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.jav
a:196)
Caused by: <4|true|0.0.0> org.apache.openjpa.persistence.InvalidStateException:
An error occured reflecting WebSphere proprietary interfaces. Please ensure that
you are running the application from within WebSphere Application Server
(version 5.0.2 or newer).
FailedObject: javax.naming.NoInitialContextException: Need to specify class name
in environment or system property, or as an applet parameter, or in an
application resource file: java.naming.factory.initial
at
org.apache.openjpa.ee.WASManagedRuntime.endConfiguration(WASManagedRuntime.java:
344)
at
org.apache.openjpa.ee.AutomaticManagedRuntime.getTransactionManager(AutomaticMan
agedRuntime.java:124)
... 39 more
NestedThrowables:
javax.naming.NoInitialContextException: Need to specify class name in
environment or system property, or as an applet parameter, or in an application
resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at
org.apache.openjpa.ee.JNDIManagedRuntime.getTransactionManager(JNDIManagedRuntim
e.java:51)
at
org.apache.openjpa.ee.AutomaticManagedRuntime.getTransactionManager(AutomaticMan
agedRuntime.java:140)

I don't believe this is the root of the problem that he's running into, but it needs to be cleaned up before we go further. 

The error occurs when we configure the WASManagedRuntime and one approach is to swallow the exception at that time and proceed. 

A better approach is to look for a "WebSphere signiture" in the constructor to WASManagedRuntime, if it's not found throw an exception. The exception is handled by AutomaticRuntime and prevents WASManagedRuntime from being used again (this is similar to what WLSManagedRuntime does). 



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


[jira] Updated: (OPENJPA-192) WASManagedRuntime's tm is used despite exception initializing WASManagedRuntime.

Posted by "Michael Dick (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OPENJPA-192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Dick updated OPENJPA-192:
---------------------------------

    Attachment: OpenJPA-192.patch.txt

Attaching a rudimentary patch. The patch tries to find an instance of the WebSphere jtaextensions class whenever we create a new WASManagedRuntime instance. 

If the class isn't found a ClassNotFoundException will be thrown and the WASManagedRuntime instance won't be created. Basically it prevents an extraneous error from being logged when WebSphere isn't being used. 



> WASManagedRuntime's tm is used despite exception initializing WASManagedRuntime. 
> ---------------------------------------------------------------------------------
>
>                 Key: OPENJPA-192
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-192
>             Project: OpenJPA
>          Issue Type: Bug
>            Reporter: Michael Dick
>         Attachments: OpenJPA-192.patch.txt
>
>
> Phill Moran reported a problem with WASManagedRuntime and Spring. Attached is the relevant portion of the stack trace : 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.jav
> a:196)
> Caused by: <4|true|0.0.0> org.apache.openjpa.persistence.InvalidStateException:
> An error occured reflecting WebSphere proprietary interfaces. Please ensure that
> you are running the application from within WebSphere Application Server
> (version 5.0.2 or newer).
> FailedObject: javax.naming.NoInitialContextException: Need to specify class name
> in environment or system property, or as an applet parameter, or in an
> application resource file: java.naming.factory.initial
> at
> org.apache.openjpa.ee.WASManagedRuntime.endConfiguration(WASManagedRuntime.java:
> 344)
> at
> org.apache.openjpa.ee.AutomaticManagedRuntime.getTransactionManager(AutomaticMan
> agedRuntime.java:124)
> ... 39 more
> NestedThrowables:
> javax.naming.NoInitialContextException: Need to specify class name in
> environment or system property, or as an applet parameter, or in an application
> resource file: java.naming.factory.initial
> at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
> at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
> at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
> at javax.naming.InitialContext.lookup(InitialContext.java:392)
> at
> org.apache.openjpa.ee.JNDIManagedRuntime.getTransactionManager(JNDIManagedRuntim
> e.java:51)
> at
> org.apache.openjpa.ee.AutomaticManagedRuntime.getTransactionManager(AutomaticMan
> agedRuntime.java:140)
> I don't believe this is the root of the problem that he's running into, but it needs to be cleaned up before we go further. 
> The error occurs when we configure the WASManagedRuntime and one approach is to swallow the exception at that time and proceed. 
> A better approach is to look for a "WebSphere signiture" in the constructor to WASManagedRuntime, if it's not found throw an exception. The exception is handled by AutomaticRuntime and prevents WASManagedRuntime from being used again (this is similar to what WLSManagedRuntime does). 

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