db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (DERBY-5419) Make Derby run on Oracle Java ME Embedded Client
Date Fri, 23 Sep 2011 11:34:27 GMT

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

Knut Anders Hatlen resolved DERBY-5419.

       Resolution: Fixed
    Fix Version/s:

I only wish there were a more robust way to detect that we're running on Java ME. The CLDC
spec defines a system property called microedition.platform, which has the value "j2me" on
both phoneME and OJEC (don't know about weme and others). Unfortunately, the property value
is defined to be implementation-dependent, so it might not be more reliable after all.

In any case, I've now checked in the patch that improves the current logic so that it recognizes
Oracle Java ME Embedded Client too.

Committed to trunk, revision 1174646.
Merged to 10.8 and committed revision 1174649.

> Make Derby run on Oracle Java ME Embedded Client
> ------------------------------------------------
>                 Key: DERBY-5419
>                 URL: https://issues.apache.org/jira/browse/DERBY-5419
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions:
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>             Fix For:,
>         Attachments: d5419-1a-check-for-cdc.diff
> I tried running Derby on Oracle Java ME Embedded Client 1.0, and booting the engine failed:
> Caused by: java.lang.NoClassDefFoundError: java.nio.channels.OverlappingFileLockException
> 	at org.apache.derby.impl.io.DirStorageFactory4.newPersistentFile(DirStorageFactory4.java:57)
> 	at org.apache.derby.impl.io.DirStorageFactory.newStorageFile(DirStorageFactory.java:58)
> 	at org.apache.derby.impl.services.monitor.StorageFactoryService$1.run(StorageFactoryService.java:96)
> 	at java.security.AccessController.doPrivileged(Compiled Method)(AccessController.java:351)
> 	at java.security.AccessController.doPrivileged(AccessController.java:320)
> 	at org.apache.derby.impl.services.monitor.StorageFactoryService.<init>(StorageFactoryService.java:86)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.getPersistentService(BaseMonitor.java:1630)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.access$100(BaseMonitor.java:99)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor$ProviderEnumeration.getNextStorageFactory(BaseMonitor.java:2146)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor$ProviderEnumeration.hasMoreElements(BaseMonitor.java:2159)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1516)
> 	at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:979)
> 	at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:550)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:2697)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:385)
> This seems to happen because Derby recognizes it as a Java 1.4 platform, whereas it's
actually a CDC/FP 1.1.2 platform.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message