You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Annapoorna Chandra <ap...@gmail.com> on 2009/07/08 18:35:53 UTC

Re: Accessing Apache ODE(1.3.2) with Oracle Database from Glassfish appserver

Hi,

   My system configuration is like this

   Appserver - Glassfish
   Database used for ODE - Oracle 10g
   Apache ODE version -1.3.2
  Java Version- 1.6.0_13

  I have a webapp which use Ode 1.3.2 and Oracle Database deployed on
Glassfish.

  1)I have recreated ode tables in oracle.
  2) added ojdbc14-10.2.0.jar to glasfish lib

  I have set up a JNDI resource from  glassfish admin console and tested the
connection . connection is successful.

deployed webapp that uses this JNDI specified in
ode-axis2.properties.(tested this with sample java app it worked fine and
also tested ode deployment with out specfying JNDI resource which throw me
an exception saying lookup failed)

also deployed workflow where deployment succeeded with out errors.

When I call operation in workflow from a client I see error.  Attaching
error to this Message.

* I have following configurations and works fine*

1) ODE 1.3.2 ,sqlserver ODE database on Glassfish
2) ODE 1.3.2 ,sqlserver ODE database on Tomcat 6.0.18(also tried on 5.x
versionS)
3) ODE 1.2 ,sqlserver ODE database on Glassfish
4) ODE 1.2 ,sqlserver ODE database on Tomcat
5) ODE 1.2 ,Oracle  ODE database on Glassfish
6) ODE 1.2 ,Oracle ODE database on Tomcat
7)ODE 1.3.2 ,Oracle ODE database on Tomcat
( Intially I saw same error on Tomcat with oracle ode1.3.2 , Then modified

Resource in Server.xml * from*

<Context path="/App" docBase="App" debug="5" reloadable="true"
crossContext="true">
        <Resource name="jdbc/ODEDB" auth="Container"
type="javax.sql.DataSource"
            maxActive="100" maxIdle="30" maxWait="10000" username="user"
password="password"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        url="jdbc:oracle:thin:@hostname:port:SID"/>
    </Context>

 *to*

<Context path="/App" docBase="App" debug="5" reloadable="true"
crossContext="true">
            <Resource name="jdbc/ODEDB" auth="Container"
type="oracle.jdbc.pool.OracleDataSource"
factory="oracle.jdbc.pool.OracleDataSourceFactory" maxActive="20"
maxIdle="30" maxWait="10000" user="user" password="password"
driverClassName="oracle.jdbc.OracleDriver"  url="jdbc:oracle:thin:@hostname
:port:SID""/>
        </Context>

and copied openjpa1.1.0.jar instead of openjpa1.3.0-SNAPSHOT.jar into
WEB-INF/lib.


)



*My connection pool settings on Glassfish*

 <jdbc-connection-pool allow-non-component-callers="false"
associate-with-thread="false" connection-creation-retry-attempts="0"
connection-creation-retry-interval-in-seconds="10"
connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0"
connection-validation-method="auto-commit"
datasource-classname="oracle.jdbc.pool.OracleDataSource"
fail-all-connections="false" idle-timeout-in-seconds="300"
is-connection-validation-required="false"
is-isolation-level-guaranteed="true" lazy-connection-association="false"
lazy-connection-enlistment="false" match-connections="false"
max-connection-usage-count="0" max-pool-size="32"
max-wait-time-in-millis="60000" name="oracle"
non-transactional-connections="false" pool-resize-quantity="2"
res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1"
steady-pool-size="8" transaction-isolation-level="read-committed"
validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
      <property name="URL" value="jdbc:oracle:thin:@hostname:port:SID"/>
      <property name="NetworkProtocol" value="tcp"/>
      <property name="PortNumber" value="portnum"/>
      <property name="Password" value="password"/>
      <property name="ServerName" value="hostname"/>
      <property name="DatabaseName" value="SID"/>
      <property name="User" value="user"/>
      <property name="DataSourceName" value="OracleDataSource"/>
    </jdbc-connection-pool>


same settings worked with ODE1.2+Oracle ODEDB on glassfish

One morething to add is If I don't use Database for ODE i.e if I write
everything to memory it works fine. I don't want to follow this approach
because I need to handle large  binary data .


I moved to ODE1.3.2 because of WS Security and My backend need to be Oracle.


Is there any alternative way to specify External DB for ODE besides the
approach I'm using?


-- 
Annapoorna