You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Patrick Linskey (JIRA)" <ji...@apache.org> on 2008/01/30 20:29:34 UTC
[jira] Updated: (OPENJPA-401) UnsatisfiedLinkError in
MappingToolTask when using DB2 JDBC driver
[ https://issues.apache.org/jira/browse/OPENJPA-401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Patrick Linskey updated OPENJPA-401:
------------------------------------
Fix Version/s: 1.0.2
> UnsatisfiedLinkError in MappingToolTask when using DB2 JDBC driver
> -------------------------------------------------------------------
>
> Key: OPENJPA-401
> URL: https://issues.apache.org/jira/browse/OPENJPA-401
> Project: OpenJPA
> Issue Type: Bug
> Affects Versions: 1.0.0
> Reporter: Michael Dick
> Assignee: Michael Dick
> Priority: Minor
> Fix For: 1.0.1, 1.0.2, 1.1.0
>
> Attachments: OPENJPA-401.patch.txt
>
>
> The MappingToolTask's class resolver loads classes from a temporary classloader before loading them in the "normal" classloader. This can cause problems if the JDBC driver requires access to native libraries (which can only be loaded once).
> I've seen errors like this when using the DB2 JCC driver and the IBM JDK :
> [mapping] 608 persistence-tests INFO [main] openjpa.Tool - Recording mapping and schema changes.
> [mapping] java.lang.UnsatisfiedLinkError: com/ibm/jvm/Trace.initTrace([Ljava/lang/String;[Ljava/lang/String;)V
> [mapping] at com.ibm.jvm.Trace.initializeTrace(Trace.java:96)
> [mapping] at com.ibm.jvm.Trace.<clinit>(Trace.java:61)
> [mapping] at java.lang.J9VMInternals.initializeImpl(Native Method)
> [mapping] at java.lang.J9VMInternals.initialize(J9VMInternals.java:192)
> [mapping] at java.lang.Class.forNameImpl(Native Method)
> [mapping] at java.lang.Class.forName(Class.java:130)
> [mapping] at com.ibm.db2.jcc.c.o.q(o.java:550)
> [mapping] at com.ibm.db2.jcc.c.o.<clinit>(o.java:319)
> [mapping] at java.lang.J9VMInternals.initializeImpl(Native Method)
> [mapping] at java.lang.J9VMInternals.initialize(J9VMInternals.java:192)
> [mapping] at java.lang.Class.forNameImpl(Native Method)
> [mapping] at java.lang.Class.forName(Class.java:130)
> [mapping] at com.ibm.db2.jcc.DB2Driver.class$(DB2Driver.java:48)
> [mapping] at com.ibm.db2.jcc.DB2Driver.<clinit>(DB2Driver.java:51)
> [mapping] at java.lang.J9VMInternals.initializeImpl(Native Method)
> [mapping] at java.lang.J9VMInternals.initialize(J9VMInternals.java:192)
> [mapping] at java.lang.Class.forNameImpl(Native Method)
> [mapping] at java.lang.Class.forName(Class.java:163)
> [mapping] at org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:82)
> <snip>
> Note that this does not occur with the Sun JDK (or at least I haven't hit the problem.
> A potential solution is to change the order of the classloaders used in MappingToolTask.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.