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

Richard Zowalla resolved OPENJPA-192.
-------------------------------------
    Resolution: Fixed

Already fixed on master: AutomaticManagedRuntime.java:191-203 skips 
getTransactionManager when endConfiguration throws, adds the error to errors, 
and uses WAS only when tm != null. Closing; please reopen if this still happens 
with OpenJPA 4.x.

> 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
>            Priority: Major
>         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 was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to