Hi Lin,
There is a section in the v1.1 documentation to cover the migration from Geronimo v1.0, here is the link:

http://cwiki.apache.org/GMOxDOC11/migrating-applications-from-geronimo-v10.html

You will have to register as a new user in order to edit the content.

I put one or two lines there but had no chance to work on a structure yet, feel free to work directly there. Let me know if you have any quesitons with the Confluence markup (or any other issue).

Thanks in advance for helping with the doc.

Cheers!
Hernan

Lin Sun wrote:
I can help writing the contents of the wiki page (Using the upgrader tool)
if Hernan can tell me where I should put it.

Lin

-----Original Message-----
From: David Jencks [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 07, 2006 3:58 PM
To: [email protected]
Subject: Re: unable to run a simple jsp application


On Jun 7, 2006, at 12:51 PM, Lin Sun wrote:


Hi David,

Thanks so much - that did solve the prob!

My 1.0 plan has:

<connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/ connector-1.0"
 configId="EmployeeDatasource"
 parentId="geronimo/j2ee-server/1.0/car">

 <dependency>
   <uri>org.apache.derby/derby/10.1.1.0/jar</uri>
 </dependency>
 <dependency>
   <uri>org.apache.derby/derbynet/10.1.1.0/jar</uri>
 </dependency>


IIRC correctly that only worked in 1.0 because we put the derby jars into the wrong configuration, rmi-naming I think, which was in the defaultParentId of everything. If they had been where they belonged in the system-database config you would have had the same problem in 1.0.

I might be making this up though.


...

After I ran the upgrader tool:
...
   <dep:moduleId>
     <dep:groupId>default</dep:groupId>
     <dep:artifactId>EmployeeDatasource</dep:artifactId>
     <dep:version>1-default</dep:version>
     <dep:type>car</dep:type>
   </dep:moduleId>
   <dep:dependencies>
     <dep:dependency>
       <dep:groupId>geronimo</dep:groupId>
       <dep:artifactId>j2ee-server</dep:artifactId>
       <dep:version>1.0</dep:version>
       <dep:type>car</dep:type>
     </dep:dependency>
     <dep:dependency>
       <dep:groupId>org.apache.derby</dep:groupId>
       <dep:artifactId>derby</dep:artifactId>
       <dep:version>10.1.1.0</dep:version>
       <dep:type>jar</dep:type>
     </dep:dependency>
     <dep:dependency>
       <dep:groupId>org.apache.derby</dep:groupId>
       <dep:artifactId>derbynet</dep:artifactId>
       <dep:version>10.1.1.0</dep:version>
       <dep:type>jar</dep:type>
     </dep:dependency>
   </dep:dependencies>
...

I think most of the users will hit the same problem as I did when using the upgrader tool to upgrade the server wide datasource. It would be great if
the upgrader tool could address this.


I think it would be more time effective to have a wiki page outlining the most common problems and their likely solutions. I doubt I'm even going to get to setting that up :-(

thanks
david jencks


Regarding the daytrader plan, I did look at the plan in the target
directory.   I was searching for org.apache.derby and it didn't return
anything.:-( The dependencies were inside of the embedded datasource plan in 1.0 but now it is moved up to the top of the plan so I missed them too:-(

Lin

-----Original Message-----
From: David Jencks [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 07, 2006 3:14 AM
To: [email protected]
Subject: Re: unable to run a simple jsp application


On Jun 6, 2006, at 8:13 PM, Lin Sun wrote:


Hi Stan,

You are right, the classloader in 1.1 seems to change a lot.   So I
went
back to the datasource plan, and I had the following as dependencies:

           <dep:dependency>
               <dep:groupId>org.apache.derby</dep:groupId>
               <dep:artifactId>derby</dep:artifactId>
               <dep:version>10.1.1.0</dep:version>
               <dep:type>jar</dep:type>
           </dep:dependency>

This is your problem, this loads a second copy of derby in a second
classloader: as Stanley reminded me this causes problems.  Instead
you need a car dependency on system-datasource so you are sharing
it's copy of derby.


            <dep:dependency>
                <dep:groupId>geronimo</dep:groupId>
                <dep:artifactId>system-database</dep:artifactId>
               <dep:type>car</dep:type>
            </dep:dependency>

           <dep:dependency>
               <dep:groupId>org.apache.derby</dep:groupId>
               <dep:artifactId>derbynet</dep:artifactId>
               <dep:version>10.1.1.0</dep:version>
               <dep:type>jar</dep:type>
           </dep:dependency>

This is in the system-database classloader also so you can omit it.
In general you should leave out versions so they can be resolved by
geronimo and upgraded later.

First I tried to comment out both of them, but I got a "
java.lang.NoClassDefFoundError: org/apache/derby/jdbc/
EmbeddedXADataSource"
from tranql.  Then I only commented out the derbynet jar and
redeployed
everything.   Still got the same exception.

I looked over the derby datasource section of the daytrader plan,
and it
didn't have any org.apache.derby dependencies.  I don't understand
that even
though the daytrader uses an application scoped datasource.   But I
haven't
been able to get daytrader running yet.

Where are you looking?  You need to look in the target directory of
the config, or the project.xml of the config subproject.  The
geronimo packaging plugin inserts the dependencies into the plan
based on marked dependencies in the project.xml.  So, for instance,
the daytrader jetty plan starts like this, including a dependency on
system-datasource such as I recommend above:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/
application-1.1">
  <dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/
deployment-1.1">
    <dep:moduleId>
      <dep:groupId>geronimo</dep:groupId>
      <dep:artifactId>daytrader-derby-jetty</dep:artifactId>
      <dep:version>1.1-SNAPSHOT</dep:version>
      <dep:type>car</dep:type>
    </dep:moduleId>
    <dep:dependencies>
      <dep:dependency>
        <dep:groupId>geronimo</dep:groupId>
        <dep:artifactId>j2ee-server</dep:artifactId>
        <dep:type>car</dep:type>
      </dep:dependency>
      <dep:dependency>
        <dep:groupId>geronimo</dep:groupId>
        <dep:artifactId>system-database</dep:artifactId>
        <dep:type>car</dep:type>
      </dep:dependency>
      <dep:dependency>
        <dep:groupId>geronimo</dep:groupId>
        <dep:artifactId>geronimo-daytrader-derby-db</dep:artifactId>
        <dep:type>jar</dep:type>
        <dep:import>classes</dep:import>
      </dep:dependency>
    </dep:dependencies>
    <dep:hidden-classes/>
    <dep:non-overridable-classes/>
  </dep:environment>


thanks
david jencks


P.S. the jsp is doing basic stuff...it was failing when attempting
to get
the connection from the pool.

Context initContext = new InitialContext();
Context envContext  = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/DataSource");
System.out.println("Got DataSource: " +ds.toString() );
con = ds.getConnection();   //failed here.

Lin


-----Original Message-----
From: Stanley Bradbury [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 06, 2006 6:50 PM
To: [email protected]
Subject: Re: unable to run a simple jsp application

Lin Sun wrote:

Hi there,

I have a simple jsp application that worked on 1.0. It displays the
contents of the EMP table of the Employee database.
I am using the embedded derby database and the
tranql-connector-derby-embed-xa-1.1 rar file in Geronimo 1.1 build
(geronimo-tomcat-j2ee-1.1-410806).

The server wide datasource and application war file deployed fine.

However, when I access the jsp from my firefox browser, I got the

following

exception
in the console when the server is trying to get the database
connection:


==  SNIP ===

Hi Lin -

The few times I have seen a NullPointerException while trying to
start a
Derby database have been caused by the Derby embedded driver being
loaded by multiple classloaders in a JVM.  Could it be that your
JSP is
causing the embedded driver to loaded?  Isn't it true that the server
wide datasource should be starting the database when Geronimo starts
rather than this happening when the JSP is called?

The fact that this fails with version 1.1 and not 1.0 might be because
of classloader changes that were implemented since 1.0.

Any thoughts on this theory from people knowledgeable about the the
Geronimo 1.1 JSP classloader hierarchy?


Derby Start exception:

org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:684)
       at java.lang.Thread.run(Thread.java:568)
org.apache.derby.impl.jdbc.EmbedSQLExceptionFailed to start database
'Employee',
see the next exception for details.
java.lang.NullPointerException
       at
org.apache.jsp.jsp.EMPdemo_jsp._jspService(org.apache.jsp.jsp.EMPdemo
_jsp:70)






Reply via email to