ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jack Bush <netbeans...@yahoo.com.au>
Subject How to switch from Derby to MySQL environment
Date Thu, 10 Feb 2011 12:29:06 GMT
Hi All, 

I would like to run a JPA Derby packaged tutorial in MySQL. This pre-configured 
exercise runs fine with Derby using Ant built script. However, it would failed 
to build after having attempted to replace the Derby properties with MySQL. 
Below are some configuration files used by this exercise: 

1.       C:\ProJPA2\examples\Chapter2\employeeService\build.xml   
2.       <?xml version="1.0" encoding="iso-8859-1"?>   
3.         
4.       <project name="example" default="run">   
5.           
6.           <property file="../../../config/common.properties"/>   
7.           <import file="../../../config/common.xml" />   
8.         
9.           <target name="run" depends="init,build,run_sql,run_client,clean" />

  
10.   
    <target name="interactive_client" depends="init,build,run_sql,run_interactive_client,clean" />
   
11.     
12.       <target name="init">   
13.           <property name="example_name" value="employeeService_ch2" />
  
14.           <property name="DB_NAME" value="EmpServDB" />   
15.       </target>   
16.     
17.       <target name="build" depends="setup,build_jar">   
18.            <javac srcdir="src/client" destdir="build/client" debug="on">
  
19.               <classpath>   
20.                  <pathelement path="${J2EE_CLASSPATH}" />   
21.                  <pathelement location="dist/lib/${example_name}.jar" />
  
22.               </classpath>   
23.           </javac>   
24.           <jar jarfile="dist/${example_name}_client.jar" update="yes">
  
25.               <fileset dir="build/client"/>   
26.           </jar>   
27.       </target>   
28.          
29.       <target name="run_client">   
30.       <java classname="examples.client.EmployeeTest" fork="true">   
31.   
            <sysproperty key="derby.system.home" value="${DERBY_SYSTEM_HOME}"/>

  
32.               <classpath>   
33.                   <pathelement location="dist/lib/${example_name}.jar" />
  
34.                   <pathelement location="dist/${example_name}_client.jar" />

  
35.                   <pathelement path="${CLIENT_CLASSPATH}"/>   
36.               </classpath>   
37.           </java>   
38.       </target>   
39.     
40.       <target name="run_interactive_client" depends="setup">   
41.       <java classname="examples.client.EmployeeTestInteractive" fork="true">

  
42.   
            <sysproperty key="derby.system.home" value="${DERBY_SYSTEM_HOME}"/>

  
43.               <sysproperty key="ddl-generation" value="dropandcreate"/>
  
44.               <classpath>   
45.                   <pathelement location="dist/lib/${example_name}.jar" />
  
46.                   <pathelement location="dist/${example_name}_client.jar" />

  
47.                   <pathelement path="${CLIENT_CLASSPATH}"/>   
48.               </classpath>   
49.           </java>   
50.       </target>   
51.   </project>   
52.     
53.   C:\ProJPA2\Config\common.properties   
54.     
55.   ##################################################   
56.   # Installation properties    
57.   ##################################################   
58.     
59.   EXAMPLES_HOME="C:/ProJPA2"  
60.   SERVER_HOME=C:/glassfish3   
61.     
62.   ##################################################   
63.   # Glassfish properties   
64.   ##################################################   
65.     
66.   ADMIN_USER=admin   
67.     
68.   PASSWORD_PREFIX=   
69.   PASSWORD_FILE=   
70.     
71.   # Uncomment out the following 2 lines if GlassFish was installed with an 

  
72.   # admin password, and enter the password in the password.txt file.   
73.   #PASSWORD_PREFIX=--passwordfile   
74.   #PASSWORD_FILE="${EXAMPLES_HOME}/config/password.txt"  
75.     
76.   ##################################################   
77.   # Derby Database properties    
78.   ##################################################   
79.     
80.   DERBY_INSTALL=${SERVER_HOME}/javadb   
81.   DERBY_PORT=1527  
82.   DERBY_HOST=localhost   
83.   DERBY_USER=APP   
84.   DERBY_PWD=APP   
85.   DERBY_SYSTEM_HOME=${EXAMPLES_HOME}/database   
86.   
DERBY_CLASSPATH=${DERBY_INSTALL}/lib/derby.jar;${DERBY_INSTALL}/lib/derbynet.jar;${DERBY_INSTALL}/lib/derbyclient.jar;${DERBY_INSTALL}/lib/derbytools.jar
   
87.     
88.   ##################################################   
89.   # Additional library properties    
90.   ##################################################   
91.     
92.   
ECLIPSELINK_CLASSPATH=${SERVER_HOME}/glassfish/modules/javax.persistence.jar;${SERVER_HOME}/glassfish/modules/org.eclipse.persistence.oracle.jar;${SERVER_HOME}/glassfish/modules/org.eclipse.persistence.core.jar;${SERVER_HOME}/glassfish/modules/org.eclipse.persistence.jpa.jar;${SERVER_HOME}/glassfish/modules/org.eclipse.persistence.asm.jar;${SERVER_HOME}/glassfish/modules/org.eclipse.persistence.antlr.jar;${SERVER_HOME}/glassfish/modules/org.eclipse.persistence.jpa.modelgen.jar;
   
93.   
SPRING_CLASSPATH=${EXAMPLES_HOME}/lib/spring.jar;${EXAMPLES_HOME}/lib/commons-logging.jar
   
94.   J2EE_CLASSPATH=${SERVER_HOME}/glassfish/lib/javaee.jar   
95.   JPA_CLASSPATH=${SERVER_HOME}/glassfish/modules/javax.persistence.jar   
96.   
#CLIENT_CLASSPATH=${ECLIPSELINK_CLASSPATH};${J2EE_CLASSPATH};${DERBY_CLASSPATH} 
  
97.   
CLIENT_CLASSPATH=${ECLIPSELINK_CLASSPATH};${J2EE_CLASSPATH};E:/Oracle/glassfish-persistence-installer-v2.1-b60.jar;E:/Oracle/mysql-connector-java-5.1.6-bin.jar;
   
98.     
99.   C:\ProJPA2\examples\Chapter2\employeeService\run.bat   
100.                        @echo OFF   
101.                        call %ANT_HOME%/bin/ant %1  
102.                          
103.                        
C:\ProJPA2\examples\Chapter2\employeeService\etc\persistence\META-INF\persistence.xml
   
104.                          
105.                        
                                     Changed the content from
  
106.                          
107.                        
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">   
108.                        
    <persistence-unit name="EmployeeService" transaction-type="RESOURCE_LOCAL">

  
109.                                <class>examples.model.Employee</class>
  
110.                                <validation-mode>NONE</validation-mode>
  
111.                                <properties>   
112.                        
            <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
   
113.                        
            <property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/EmpServDB;create=true"/>
   
114.                        
            <property name="javax.persistence.jdbc.user" value="APP"/>
  
115.                        
            <property name="javax.persistence.jdbc.password" value="APP"/>
  
116.                        
            <!-- enable this property to see SQL and other logging -->
  
117.                        
            <!-- property name="eclipselink.logging.level" value="FINE"/ -->
  
118.                                </properties>   
119.                            </persistence-unit>   
120.                        </persistence>   
121.                          
122.                                                                          to

  
123.                          
124.                        <?xml version="1.0" encoding="UTF-8"?>
  
125.                        
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
   
126.                        
  <persistence-unit name="EmployeeService" transaction-type="RESOURCE_LOCAL">   
127.                        
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>   
128.                            <shared-cache-mode>ALL</shared-cache-mode>
  
129.                            <validation-mode>NONE</validation-mode>
  
130.                            <properties>   
131.                        
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
   
132.                        
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/EmployeeDB"/>
   
133.                        
      <property name="javax.persistence.jdbc.password" value="abcdefg"/>   
134.                        
      <property name="javax.persistence.jdbc.user" value="applicationuser"/>
  
135.                        
      <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
   
136.                        
      <!--  enable this property to see SQL and other logging  -->
  
137.                        
      <property name="eclipselink.logging.level" value="FINE"/>   
138.                            </properties>   
139.                          </persistence-unit>   
140.                        </persistence>  
 
Also tried to include the latest EclipseJPA 
(E:/Oracle/glassfish-persistence-installer-v2.1-b60.jar) & MySQL JDBCdriver 
(E:/Oracle/mysql-connector-java-5.1.6-bin.jar) in CLIENT_CLASSPATH of 
common.properties file. This same example would run properly after having built 
it into Netbeans 6.9.1 project which include these jar files in its CLASSPATH. 


Some system environmental variables used by Java & Ant are: 
ANT_HOME=C:\Ant\apache-ant-1.8.2 
CLASSPATH=.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip 
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20 
Path=C:\Program 
Files\Java\jdk1.6.0_20\bin;C:\Ant\apache-ant-1.8.2\bin;C:\Program 
Files\MySQL\MySQL Server 5.1\bin;C:\glassfish3\bin;C:\glassfish3\glassfish\bin 


However, the following exception kept occurring and I am can do with some advice 
on how to correctly update these configuration files in order to persist the 
data into MySQL: 

1.       C:\ProJPA2\examples\Chapter2\employeeService>dir   
2.        Volume in drive C has no label.   
3.        Volume Serial Number is 6473-5938  
4.         
5.        Directory of C:\ProJPA2\examples\Chapter2\employeeService   
6.         
7.       10/02/2011  05:31 PM    <DIR>          .   
8.       10/02/2011  05:31 PM    <DIR>          ..   
9.       30/01/2010  11:03 PM             2,022 build - original.bak
  
10.   30/01/2010  11:03 PM             2,022 build.xml   
11.   01/02/2011  04:33 PM    <DIR>          etc   
12.   09/02/2011  05:49 PM    <DIR>          lib   
13.   09/02/2011  05:21 PM                42 run.bat   
14.   07/01/2010  06:02 PM                52 runInteractive.bat   
15.   01/02/2011  04:33 PM    <DIR>          src   
16.                  4 File(s)          4,138 bytes   
17.                  5 Dir(s)  13,030,256,640 bytes free   
18.     
19.   C:\ProJPA2\examples\Chapter2\employeeService>run.bat   
20.   Buildfile: C:\ProJPA2\examples\Chapter2\employeeService\build.xml   
21.     
22.   init:   
23.     
24.   setup:   
25.   
    [mkdir] Created dir: C:\ProJPA2\examples\Chapter2\employeeService\build\model
   
26.   
    [mkdir] Created dir: C:\ProJPA2\examples\Chapter2\employeeService\build\client
   
27.   
    [mkdir] Created dir: C:\ProJPA2\examples\Chapter2\employeeService\build\test 
  
28.   
    [mkdir] Created dir: C:\ProJPA2\examples\Chapter2\employeeService\build\servlet\WEB-INF\classes
   
29.       [mkdir] Created dir: C:\ProJPA2\examples\Chapter2\employeeService\dist

  
30.   
    [mkdir] Created dir: C:\ProJPA2\examples\Chapter2\employeeService\dist\lib 
  
31.     
32.   build_jar:   
33.   
     [copy] Copying 2 files to C:\ProJPA2\examples\Chapter2\employeeService\build\model
   
34.   
    [javac] C:\ProJPA2\config\common.xml:38: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
   
35.   
    [javac] Compiling 2 source files to C:\ProJPA2\examples\Chapter2\employeeService\build\model
   
36.   
    [javac] Note: C:\ProJPA2\examples\Chapter2\employeeService\src\model\examples\model\EmployeeService.java uses unchecked or unsafe operations.
   
37.       [javac] Note: Recompile with -Xlint:unchecked for details.   
38.   
      [jar] Building jar: C:\ProJPA2\examples\Chapter2\employeeService\dist\lib\employeeService_ch2.jar
   
39.     
40.   build:   
41.   
    [javac] C:\ProJPA2\examples\Chapter2\employeeService\build.xml:17: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
   
42.   
    [javac] Compiling 2 source files to C:\ProJPA2\examples\Chapter2\employeeService\build\client
   
43.   
      [jar] Building jar: C:\ProJPA2\examples\Chapter2\employeeService\dist\employeeService_ch2_client.jar
   
44.     
45.   run_sql:   
46.     
47.   BUILD FAILED   
48.   
C:\ProJPA2\config\common.xml:144: java.sql.SQLNonTransientConnectionException: java.net.ConnectException : Error connecting to server localhost on port 152  

49.   7 with message Connection refused: connect.   
50.   
        at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
   
51.   
        at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
   
52.           at org.apache.derby.jdbc.ClientDriver.connect(Unknown Source)   
53.   
        at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:370)
   
54.   
        at org.apache.tools.ant.taskdefs.SQLExec.getConnection(SQLExec.java:942)

  
55.           at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:614)

  
56.   
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) 
  
57.           at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)   
58.   
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   
59.           at java.lang.reflect.Method.invoke(Method.java:597)   
60.   
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   
61.           at org.apache.tools.ant.Task.perform(Task.java:348)   
62.           at org.apache.tools.ant.Target.execute(Target.java:390)   
63.           at org.apache.tools.ant.Target.performTasks(Target.java:411)   
64.   
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399) 
  
65.           at org.apache.tools.ant.Project.executeTarget(Project.java:1368)

  
66.   
        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
   
67.           at org.apache.tools.ant.Project.executeTargets(Project.java:1251)

  
68.           at org.apache.tools.ant.Main.runBuild(Main.java:809)   
69.           at org.apache.tools.ant.Main.startAnt(Main.java:217)   
70.           at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)   
71.           at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)   
72.   
Caused by: org.apache.derby.client.am.DisconnectException: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused: connect.
   
73.           at org.apache.derby.client.net.NetAgent.<init>(Unknown Source)
  
74.   
        at org.apache.derby.client.net.NetConnection.newAgent_(Unknown Source) 
  
75.           at org.apache.derby.client.am.Connection.<init>(Unknown Source)
  
76.   
        at org.apache.derby.client.net.NetConnection.<init>(Unknown Source)
  
77.   
        at org.apache.derby.client.net.NetConnection40.<init>(Unknown Source)
  
78.   
        at org.apache.derby.client.net.ClientJDBCObjectFactoryImpl40.newNetConnection(Unknown Source)
   
79.           ... 20 more   
80.   Caused by: java.net.ConnectException: Connection refused: connect   
81.           at java.net.PlainSocketImpl.socketConnect(Native Method)   
82.           at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)   
83.   
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) 
  
84.           at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)   
85.           at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)   
86.           at java.net.Socket.connect(Socket.java:529)   
87.           at java.net.Socket.connect(Socket.java:478)   
88.           at java.net.Socket.<init>(Socket.java:375)   
89.           at java.net.Socket.<init>(Socket.java:189)   
90.   
        at javax.net.DefaultSocketFactory.createSocket(SocketFactory.java:206) 
  
91.   
        at org.apache.derby.client.net.OpenSocketAction.run(Unknown Source)   
92.           at java.security.AccessController.doPrivileged(Native Method)   
93.           ... 26 more  
 
The issue is how to replace Derbyproperties & driver with MySQL equivalents. 

C:\ProJPA2\examples\Chapter2\employeeService\etc\sql\db.sql is made up of: 

DROP TABLE EMPLOYEE; 
CREATE TABLE EMPLOYEE (ID INTEGER NOT NULL, NAME VARCHAR(255), SALARY BIGINT, 
NUMBER INTEGER, PRIMARY KEY (ID)); 


Also C:\ProJPA2\examples\Chapter2\employeeService\lib is made up of the 
following files: 


eclipselink.jar, 
glassfish-persistence-installer-v2.1-b60.jar, 
mysql-connector-java-5.1.6-bin.jar.
 
I am running JDK1.6.0_20, GF3.1, Ant 1.8.2 on Windows XP. 

Your suggestion would be much appreciated. 

Thanks, 

Jack 


      

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message