db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stanley Bradbury <Stan.Bradb...@gmail.com>
Subject Re: Issue with Derby when using with IBM WebSphere Application Server Community Edition
Date Fri, 27 Oct 2006 16:50:40 GMT
Suraj Batuwana wrote:
>
> Hi Stanley,
>
>  
>
> My network server starts with jar files which come with derby using 
> cloudscape from the different port. The derby server starts with part 
> of the nightly build from maven as shown below.
>
>  
>
>     <goal name="start-derby-server">
>
>             <attainGoal name="set-datasource-properties"/>
>
>              <j:thread file="thread.out">
>
>                         <ant:java 
> classname="org.apache.derby.drda.NetworkServerControl" fork="yes">  
>                          
>
>                         <ant:classpath>
>
>                                     <ant:path 
> refid="maven.dependency.classpath"/>
>
>                                                 <ant:pathelement 
> location="${maven.build.dest}"/>
>
>                                     </ant:classpath>           
>
>                         <ant:arg line="start -h localhost -p 1530"/>
>
>                         </ant:java>
>
>             </j:thread>                                
>                                   
>
>     </goal>
>
>  
>
> The default port of derby with comes with WASCE is 1527. Before 
> starting the derby I am creating a database in my maven target 
> directory as
>
> <goal name="init- derby -db">                          
>
>           <ant:java classname="org.apache.derby.tools.ij" 
> fork="yes">                                           
>
>                         <ant:classpath>
>
>                                     <ant:path 
> refid="maven.dependency.classpath"/>
>
>                                                 <ant:pathelement 
> location="${maven.build.dest}"/>
>
>                                     </ant:classpath>
>
>                                     <ant:arg line="-p 
> ${maven.src.dir}/sql/ij.properties"/>
>
>                                     <ant:arg 
> line="${maven.src.dir}/sql//PersistentECore.sql"/>
>
>               </ant:java>     
>
>     </goal>
>
>  
>
> ij.properties has the following values
>
> ij.connection.testConn=jdbc:derby:target/testDB;create=true;user=testuser;bootPassword=testpass;
>
>  
>
> According to my application it is not possible to use the Network 
> Server instance that WAS CE starts.
>
>  
>
> Thanks,
>
> Suraj
>
> ------------------------------------------------------------------------
>
> *From:* Suraj Batuwana
> *Sent:* Thursday, October 26, 2006 10:46 AM
> *To:* 'derby-user@db.apache.org'
> *Subject:* Issue with Derby when using with IBM WebSphere Application 
> Server Community Edition
>
>  
>
> Hi,
>
> I have received a server side error as
>
>  
>
> Error when executing 
> query:org.apache.derby.client.am.DisconnectException: Execution failed 
> due to a distribution protocol error that caused deallocation of the 
> conversation.  The requested command encountered an unarchitected and 
> implementation specific condition for which there was no architected 
> message.
>
> com.ascential.xmeta.query.QueryException: Error when executing 
> query:org.apache.derby.client.am.DisconnectException: Execution failed 
> due to a distribution protocol error that caused deallocation of the 
> conversation.  The requested command encountered an unarchitected and 
> implementation specific condition for which there was no architected 
> message.
>
>  
>
> I have used the IBM WebSphere Application Server Community Edition 
> Version 1.1 as the application server and the Derby 10.1 Net work 
> server as the database.
>
>  
>
> When create the datasource I have used the
>
>  
>
> <config-property-setting name="Password">pass</config-property-setting>
>
> <config-property-setting name="PortNumber">1527</config-property-setting>
>
> <config-property-setting 
> name="ServerName">localhost</config-property-setting>
>
> <config-property-setting 
> name="DatabaseName">TestDB</config-property-setting>
>
> <config-property-setting name="UserName">newuser</config-property-setting>
>
>  
>
> for the cloudscape datasource plan. Also I have used the
>
> tranql-connector-derby-client-local-1.1.rar and 
> tranql-connector-derby-client-xa-1.1.rar as the tranql connectors.
>
>  
>
> While the above exception throws at the serverside following exception 
> will throw as derby.log
>
> Server is ready to accept connections on port 1527.
>
> Connection number: 1.
>
> Connection number: 2.
>
> Connection number: 3.
>
> Connection number: 4.
>
>  
>
> ------------  BEGIN SHUTDOWN ERROR STACK -------------
>
>  
>
> ERROR XSDG3: Meta-data for Container 
> org.apache.derby.impl.store.raw.data.RAFContainer@67517852 could not 
> be accessed
>
    ====   SNIP =====

Hi Suraj -

Based on your response I am assuming that this part of my response 
describes the change that needs to be made:

"...AND be sure that the version of the client jar matches or is a 
higher higher version than the most recent version of the
Network Server being started (the client driver is backward compatible 
but not necessarily forward compatible). ..."

An incompatibility between the clientDriver and the Network Server would 
result in a Distributed Protocol Error.

My guess is that the connection that is failing (the datasource defined 
in WAS CE) is using an older version of derbyclient.jar than is 
supported for the version of derby you downloaded.  If you verify this 
to be the case then shutdown both systems, overwrite the earlier jarfile 
with the more recent version, restart and I think all will be well.

In addition, if my assumptions about your configuration are correct, the 
datasource you  define for WAS CE is trying to connecting to the WAS CE 
network server (e.g. localhost:1527) and trying to access the database 
of the Maven Network Server - you should be addressing the Maven Network 
Server (   <ant:arg line="start -h localhost -p 1530"/>) - this could 
result in the "ERROR XSDG3: Meta-data for Container.." error you as 
seeing (presumably in the derby.log for WAS CE, the database might 
already be locked by the Maven Network Server). 

It is a shame that WAS CE does allow you to utilize the Network Server 
it starts, I assume this is done because of security concerns.

If this doesn't help please ...  supply the information from 
'....NetworkServerControl sysinfo' as well as any console messages that 
may be displayed.  (am referring to the Network Server console messages 
for both the WAS CE instance and one started by Maven).

HTH





Mime
View raw message