Garth Keesler wrote:
Resending due to network probs...



Subject:
Re: Bank Sample App Mod to use Postgres
From:
Garth Keesler <garthk@gdcjk.com>
Date:
Fri, 28 Dec 2007 11:07:53 -0600
To:
user@geronimo.apache.org
To:
user@geronimo.apache.org

Jacek Laskowski wrote:
On Dec 28, 2007 4:11 PM, Garth Keesler <garthk@gdcjk.com> wrote:
  
I am new to Geronimo coming from VS2005 and C#. I have a Postgres DB
configured in the pool as OES and working correctly using the dbtester
sample app. I want to change the persistance of the Bank app from Derby
to Postgres and have not yet figured out the magic to make it happen.
The tables are correctly loaded in the OES database. Below is the
BankPool.xml I modified (obviously incorrectly) and I could use some
pointers. It mavens and installs okay but I get a "lifecycle operation
failed" when attempting to start in the console.
    

Hi Garth,

I think the file misses

<config-property-setting
name="DatabaseName">SystemDatabase</config-property-setting>

and that's why the resource cannot be deployed and either can the app.
On the other hand, you mentioned it had worked fine using the dbtester
so it was indeed deployed already via the Geronimo console, wasn't it?
If so, the resource is global so your app should merely declare
dependency to the BankPool and be fine with it.

Could you tell us more about how you access the db? Is it JPA
application? What's persistence.xml? Are there any stack traces on the
Geronimo console (on the command line not in the Geronimo web
console)? Describe the steps you used to make
it...cough...cough...fail ;-)
  
Well, first when I said "new to Geronimo", I meant *really* new to Geronimo. :-)    Second, I use the O'Reilly EJB 3.0 book which is excellent but has a bit of a JBoss slant (for obvious reasons).

Second, the Bank sample app is located at http://cwiki.apache.org/GMOxDOC20/ejb-sample-application.html and to make it work initially, I just follow the instructions to the letter. This includes creating and loading a Derby database. After that, a maven command followed by a Geronimo console deploy and it works like a champ.

Third, I have a postgres database already created and loaded with the same tables/data req'd by the Bank app. It has been added to the DB pool and works correctly, having been tested using the "dbtester" app in the same site as the Bank app.

The persistence.xml file gets downloaded when the Bank app is extracted for building so it comes with the kit. It is an "important" file according to the EJB3.0 book and is used to describe the persistence mappings to be used by the app server when running the app (best I can do on this).

I've gotten to the point in playing with the files that I have to remove/redeploy GMO every time since it seems to install correctly but then won't display the ear as being deployed. I can't deploy the sample app again because it conflicts with an already-installed app even tho it doesn't show up in the GMO console.
You can find some pointers in Running JBoss Seam 2.0.0.GA on Geronimo 2.1 [1]

[1] http://cwiki.apache.org/GMOxSAMPLES/running-jboss-seam-200ga-on-geronimo-21.html
  
I've heard of JBoss Seam but don't have a clue what it is. :-) I don't think I'm running it.
  
Any help appreciated...
Thx,
Garth

<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.1">
    <dep:environment
xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1">
        <dep:moduleId>
            <dep:groupId>console.dbpool</dep:groupId>
            <dep:artifactId>OES</dep:artifactId>
            <dep:version>1.0</dep:version>
            <dep:type>rar</dep:type>
        </dep:moduleId>
        <dep:dependencies>
            <dep:dependency>
                <dep:groupId>org.apache.geronimo.configs</dep:groupId>
                <dep:artifactId>system-database</dep:artifactId>
                <dep:type>car</dep:type>
            </dep:dependency>
        </dep:dependencies>
    </dep:environment>
    <resourceadapter>
        <outbound-resourceadapter>
            <connection-definition>

<connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
                <connectiondefinition-instance>
                    <name>BankPool</name>
                    <config-property-setting
name="Driver">org.postgresql.Driver</config-property-setting>
                    <config-property-setting
name="UserName">garthk</config-property-setting>
                    <config-property-setting
name="ConnectionURL">jdbc:postgresql://pgsrv/oesdb</config-property-setting>
                    <connectionmanager>
                        <local-transaction/>
                        <single-pool>
                            <max-size>10</max-size>
                            <min-size>0</min-size>
                            <match-one/>
                        </single-pool>
                    </connectionmanager>
                </connectiondefinition-instance>
            </connection-definition>
        </outbound-resourceadapter>
    </resourceadapter>
</connector>

   
I'm starting the process over again and I'll capture errors in a file to attach ASAP.

Thx,
Garth

It's becoming obvious to me that my previous minimal (spelled worthless:-) attempts at just changing a couple of literal strings in selected XML files simply won't cut it since the test db is a Derby db and not a member of the DB Pool.

Still working on it...

Thx,
Garth