[ 
https://issues.apache.org/jira/browse/DERBY-2733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12546626
 ] 

John H. Embretsen commented on DERBY-2733:
------------------------------------------

>From what I can see, the fact that ij runs into the NullPointerException when 
>only ij.dataSource is set (to EmbeddedSimpleDataSource) is true for both Java 
>ME and Java SE VMs. The only difference is, as you mention, that with Java ME 
>ij fails to start if ij.protocol is also set.

The only issue I have with the current documentation in this regard is that the 
second example (Example 2) does not show the real behavior of ij. If you do 
what the example in the docs say, you will run into the combined 
InvocationTargetException/NullPointerException before you can continue to use 
ij as if no error occurred (at least that is our perception at this point).

I think it would be better to:

 a) Specify that you should not specify ij.protocol when using Java ME 
(EmbeddedSimpleDataSource) in the "Function" or "Syntax" section of the doc 
topic. (If you can't find where this is documented elsewhere, a user probably 
won't find it either.)

 b) Let the examples show actual Derby behavior and recommended usage. If ij, 
as this piece of documentation says, does not currently support setting 
ij.dataSource without also setting ij.dataSource.databaseName, then all 
ij.dataSource examples should set the latter property as well.

So perhaps the easiest temporary solution would be to do a) above, and remove 
Example 2 from the docs until we have a solution in the code letting us do what 
Example 2 does without errors.

It's no big deal, though - 10.3.2 will probably be released without such a 
change anyway, and for future releases we still have some time to fix the NPE 
(which would make example 2 valid).

> ij rolls through NullPointerException (NPE) with J2ME/JSR169/WEME 6.1.
> ----------------------------------------------------------------------
>
>                 Key: DERBY-2733
>                 URL: https://issues.apache.org/jira/browse/DERBY-2733
>             Project: Derby
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 10.1.2.1, 10.2.2.0, 10.3.1.4
>         Environment: windows xp; j9 -jcl:foun11 -version:
> java version "J2ME Foundation Specification v1.1"
> IBM J9 2.3 Windows XP x86-32  (JIT enabled)
> J9VM - 20061023_08962_lHdSMR
> JIT  - 20060629_1804ifx1_r8
> GC   - 200609_15
> JCL  - 20061020_1321,foun11
> Licensed Materials - Property of IBM
> J9 - VM for the Java(TM) platform, Version 2.3
> (c) Copyright IBM Corp. 1991, 2006  All Rights Reserved
> Target: 20061023_08962_lHdSMR (Windows XP 5.1 build 2600 Service Pack 2 x86)
> JIT  - 20060629_1804ifx1_r8
>            Reporter: Myrna van Lunteren
>            Assignee: Myrna van Lunteren
>         Attachments: DERBY-2733-doc.diff, DERBY-2733-src.diff, 
> DERBY-2733.diff2, rtoolsijproprefdatasource.html
>
>
> When starting ij - with, or without any derby.properties, ij first shows this:
> -------------------------------------------------------
> java.lang.reflect.InvocationTargetException
>         at 
> java.lang.reflect.AccessibleObject.invokeL(AccessibleObject.java:215)
>         at java.lang.reflect.Method.invoke(Method.java:272)
>         at 
> org.apache.derby.impl.tools.ij.util.getDataSourceConnection(util.java:426)
>         at org.apache.derby.impl.tools.ij.util.startJBMS(util.java:516)
>         at org.apache.derby.impl.tools.ij.util.startJBMS(util.java:585)
>         at 
> org.apache.derby.impl.tools.ij.ConnectionEnv.init(ConnectionEnv.java:64)
>         at 
> org.apache.derby.impl.tools.ij.utilMain.initFromEnvironment(utilMain.java:179)
>         at org.apache.derby.impl.tools.ij.Main.<init>(Main.java:230)
>         at org.apache.derby.impl.tools.ij.Main.getMain(Main.java:193)
>         at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:178)
>         at org.apache.derby.impl.tools.ij.Main.main(Main.java:73)
>         at org.apache.derby.tools.ij.main(ij.java:67)
> Caused by: java.lang.NullPointerException
>         at 
> org.apache.derby.jdbc.InternalDriver.embeddedDriverAcceptsURL(InternalDriver.java:116)
>         at 
> org.apache.derby.jdbc.InternalDriver.acceptsURL(InternalDriver.java:107)
>         at 
> org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:126)
>         at 
> org.apache.derby.jdbc.EmbeddedSimpleDataSource.getConnection(EmbeddedSimpleDataSource.java:406)
>         at 
> org.apache.derby.jdbc.EmbeddedSimpleDataSource.getConnection(EmbeddedSimpleDataSource.java:373)
>         at 
> java.lang.reflect.AccessibleObject.invokeL(AccessibleObject.java:213)
>         ... 11 more
> ij version 10.3
> ij>
> After that, ij does appear to start normal operations.

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

Reply via email to