-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 6 posts ] 
Author Message
 Post subject: How to find a JNDI resource in the hibernatetool ant task
PostPosted: Wed Mar 18, 2009 11:37 am 
Newbie

Joined: Thu Oct 26, 2006 1:34 pm
Posts: 11
I want to generate my database schema with Ant. I am using hbm2ddl task.

I am using Hibernate with JNDI. My hibernate.cfg.xml looks like:

Code:
  <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
   
    <hibernate-configuration>
        <session-factory>
           <!-- Database connection settings -->
           <property name="connection.datasource">java:comp/env/jdbc/my_app</property>
           <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
           <property name="current_session_context_class">thread</property>
       
                <!-- Mapping -->   
      </session-factory> 
    </hibernate-configuration>


My $CATALINA_HOME/webapps/myapp/META-INF/context.xml looks like:

Code:
<Context>
       <Resource name="jdbc/my_app"
                global="jdbc/my_app"
                auth="Container"
                type="javax.sql.DataSource"
                username="userA"
                password="userA123"
                driverClassName="com.mysql.jdbc.Driver"
             url="jdbc:mysql://localhost:3306/myapp?autoReconnect=true"
                maxActive="8"
                maxIdle="4"/>
    </Context>




And inside $CATALINA_HOME/webapps/myapp/WEB-INF/web.xml I have:


Code:
   <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/my_app</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
   </resource-ref>


Inside **build.xml** I have the next target.


Code:
<target name="schema" description="Generate DB schema from the O/R mapping files">
      <hibernatetool destdir="${basedir}">
          <classpath path="${java.src.home}">
               <fileset dir="${java.src.home}">
                    <include name="**/*.hbm.xml"/>
            </fileset>
          </classpath>
      <configuration configurationfile="${java.src.home}/hibernate.cfg.xml"/>          
          <hbm2ddl
             drop="true"
             create="true"
             export="true"
             outputfilename="myapp-ddl.sql"
               delimiter=";"
             format="true"/>        
         </hibernatetool>
   </target>

The problem is that ant is not finding the Resource element stored in context.xml.

Code:
    [hibernatetool] Error #1: org.hibernate.HibernateException: Could not find datasource

I tried, without success, to add the nex snippet inside the classpath element.


Code:
     <fileset dir="${web.home}/META-INF">
           <include name="context.xml"/>
       </fileset>


How can i point Ant to find the Resource defined in context.xml?


I post a complete error stacktrace.
Code:
    [hibernatetool] INFO: JNDI InitialContext properties:{}
    [hibernatetool] java.util.zip.ZipException: error in opening zip file
    [hibernatetool]    at java.util.zip.ZipFile.open(Native Method)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:114)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:131)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.getResourceURL(AntClassLoader.java:1014)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.findNextResource(AntClassLoader.java:146)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.<init>(AntClassLoader.java:108)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:958)
    [hibernatetool]    at java.lang.ClassLoader.getResources(ClassLoader.java:1016)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12$5.run(VersionHelper12.java:149)
    [hibernatetool]    at java.security.AccessController.doPrivileged(Native Method)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12.getResources(VersionHelper12.java:146)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getApplicationResources(ResourceManager.java:468)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getInitialEnvironment(ResourceManager.java:159)
    [hibernatetool]    at javax.naming.InitialContext.init(InitialContext.java:219)
    [hibernatetool]    at javax.naming.InitialContext.<init>(InitialContext.java:175)
    [hibernatetool]    at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
    [hibernatetool]    at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:27)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133)
    [hibernatetool]    at org.hibernate.tool.ant.Hbm2DDLExporterTask.execute(Hbm2DDLExporterTask.java:55)
    [hibernatetool]    at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:171)
    [hibernatetool]    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    [hibernatetool]    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    [hibernatetool]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [hibernatetool]    at java.lang.reflect.Method.invoke(Method.java:597)
    [hibernatetool]    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
    [hibernatetool]    at org.apache.tools.ant.Task.perform(Task.java:348)
    [hibernatetool]    at org.apache.tools.ant.Target.execute(Target.java:357)
    [hibernatetool]    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    [hibernatetool]    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
    [hibernatetool]    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
    [hibernatetool] java.util.zip.ZipException: error in opening zip file
    [hibernatetool]    at java.util.zip.ZipFile.open(Native Method)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:114)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:131)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.getResourceURL(AntClassLoader.java:1014)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.findNextResource(AntClassLoader.java:146)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.<init>(AntClassLoader.java:108)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:958)
    [hibernatetool]    at java.lang.ClassLoader.getResources(ClassLoader.java:1016)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12$5.run(VersionHelper12.java:149)
    [hibernatetool]    at java.security.AccessController.doPrivileged(Native Method)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12.getResources(VersionHelper12.java:146)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getApplicationResources(ResourceManager.java:468)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getInitialEnvironment(ResourceManager.java:159)
    [hibernatetool]    at javax.naming.InitialContext.init(InitialContext.java:219)
    [hibernatetool]    at javax.naming.InitialContext.<init>(InitialContext.java:175)
    [hibernatetool]    at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
    [hibernatetool]    at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:27)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133)
    [hibernatetool]    at org.hibernate.tool.ant.Hbm2DDLExporterTask.execute(Hbm2DDLExporterTask.java:55)
    [hibernatetool]    at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:171)
    [hibernatetool]    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    [hibernatetool]    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    [hibernatetool]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [hibernatetool]    at java.lang.reflect.Method.invoke(Method.java:597)
    [hibernatetool]    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
    [hibernatetool]    at org.apache.tools.ant.Task.perform(Task.java:348)
    [hibernatetool]    at org.apache.tools.ant.Target.execute(Target.java:357)
    [hibernatetool]    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    [hibernatetool]    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
    [hibernatetool]    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
    [hibernatetool] java.util.zip.ZipException: error in opening zip file
    [hibernatetool]    at java.util.zip.ZipFile.open(Native Method)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:114)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:131)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.getResourceURL(AntClassLoader.java:1014)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.findNextResource(AntClassLoader.java:146)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.<init>(AntClassLoader.java:108)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:958)
    [hibernatetool]    at java.lang.ClassLoader.getResources(ClassLoader.java:1016)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12$5.run(VersionHelper12.java:149)
    [hibernatetool]    at java.security.AccessController.doPrivileged(Native Method)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12.getResources(VersionHelper12.java:146)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getApplicationResources(ResourceManager.java:468)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getInitialEnvironment(ResourceManager.java:159)
    [hibernatetool]    at javax.naming.InitialContext.init(InitialContext.java:219)
    [hibernatetool]    at javax.naming.InitialContext.<init>(InitialContext.java:175)
    [hibernatetool]    at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
    [hibernatetool]    at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:27)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133)
    [hibernatetool]    at org.hibernate.tool.ant.Hbm2DDLExporterTask.execute(Hbm2DDLExporterTask.java:55)
    [hibernatetool]    at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:171)
    [hibernatetool]    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    [hibernatetool]    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    [hibernatetool]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [hibernatetool]    at java.lang.reflect.Method.invoke(Method.java:597)
    [hibernatetool]    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
    [hibernatetool]    at org.apache.tools.ant.Task.perform(Task.java:348)
    [hibernatetool]    at org.apache.tools.ant.Target.execute(Target.java:357)
    [hibernatetool]    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    [hibernatetool]    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
    [hibernatetool]    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
    [hibernatetool] java.util.zip.ZipException: error in opening zip file
    [hibernatetool]    at java.util.zip.ZipFile.open(Native Method)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:114)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:131)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.getResourceURL(AntClassLoader.java:1014)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.findNextResource(AntClassLoader.java:146)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.<init>(AntClassLoader.java:108)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:958)
    [hibernatetool]    at java.lang.ClassLoader.getResources(ClassLoader.java:1016)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12$5.run(VersionHelper12.java:149)
    [hibernatetool]    at java.security.AccessController.doPrivileged(Native Method)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12.getResources(VersionHelper12.java:146)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getApplicationResources(ResourceManager.java:468)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getInitialEnvironment(ResourceManager.java:159)
    [hibernatetool]    at javax.naming.InitialContext.init(InitialContext.java:219)
    [hibernatetool]    at javax.naming.InitialContext.<init>(InitialContext.java:175)
    [hibernatetool]    at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
    [hibernatetool]    at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:27)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133)
    [hibernatetool]    at org.hibernate.tool.ant.Hbm2DDLExporterTask.execute(Hbm2DDLExporterTask.java:55)
    [hibernatetool]    at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:171)
    [hibernatetool]    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    [hibernatetool]    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    [hibernatetool]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [hibernatetool]    at java.lang.reflect.Method.invoke(Method.java:597)
    [hibernatetool]    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
    [hibernatetool]    at org.apache.tools.ant.Task.perform(Task.java:348)
    [hibernatetool]    at org.apache.tools.ant.Target.execute(Target.java:357)
    [hibernatetool]    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    [hibernatetool]    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
    [hibernatetool]    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
    [hibernatetool] java.util.zip.ZipException: error in opening zip file
    [hibernatetool]    at java.util.zip.ZipFile.open(Native Method)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:114)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:131)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.getResourceURL(AntClassLoader.java:1014)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.findNextResource(AntClassLoader.java:146)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.<init>(AntClassLoader.java:108)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:958)
    [hibernatetool]    at java.lang.ClassLoader.getResources(ClassLoader.java:1016)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12$5.run(VersionHelper12.java:149)
    [hibernatetool]    at java.security.AccessController.doPrivileged(Native Method)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12.getResources(VersionHelper12.java:146)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getApplicationResources(ResourceManager.java:468)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getInitialEnvironment(ResourceManager.java:159)
    [hibernatetool]    at javax.naming.InitialContext.init(InitialContext.java:219)
    [hibernatetool]    at javax.naming.InitialContext.<init>(InitialContext.java:175)
    [hibernatetool]    at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
    [hibernatetool]    at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:27)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133)
    [hibernatetool]    at org.hibernate.tool.ant.Hbm2DDLExporterTask.execute(Hbm2DDLExporterTask.java:55)
    [hibernatetool]    at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:171)
    [hibernatetool]    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    [hibernatetool]    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    [hibernatetool]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [hibernatetool]    at java.lang.reflect.Method.invoke(Method.java:597)
    [hibernatetool]    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
    [hibernatetool]    at org.apache.tools.ant.Task.perform(Task.java:348)
    [hibernatetool]    at org.apache.tools.ant.Target.execute(Target.java:357)
    [hibernatetool]    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    [hibernatetool]    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
    [hibernatetool]    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
    [hibernatetool] java.util.zip.ZipException: error in opening zip file
    [hibernatetool]    at java.util.zip.ZipFile.open(Native Method)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:114)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:131)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.getResourceURL(AntClassLoader.java:1014)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.findNextResource(AntClassLoader.java:146)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.<init>(AntClassLoader.java:108)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:958)
    [hibernatetool]    at java.lang.ClassLoader.getResources(ClassLoader.java:1016)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12$5.run(VersionHelper12.java:149)
    [hibernatetool]    at java.security.AccessController.doPrivileged(Native Method)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12.getResources(VersionHelper12.java:146)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getApplicationResources(ResourceManager.java:468)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getInitialEnvironment(ResourceManager.java:159)
    [hibernatetool]    at javax.naming.InitialContext.init(InitialContext.java:219)
    [hibernatetool]    at javax.naming.InitialContext.<init>(InitialContext.java:175)
    [hibernatetool]    at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
    [hibernatetool]    at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:27)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133)
    [hibernatetool]    at org.hibernate.tool.ant.Hbm2DDLExporterTask.execute(Hbm2DDLExporterTask.java:55)
    [hibernatetool]    at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:171)
    [hibernatetool]    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    [hibernatetool]    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    [hibernatetool]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [hibernatetool]    at java.lang.reflect.Method.invoke(Method.java:597)
    [hibernatetool]    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
    [hibernatetool]    at org.apache.tools.ant.Task.perform(Task.java:348)
    [hibernatetool]    at org.apache.tools.ant.Target.execute(Target.java:357)
    [hibernatetool]    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    [hibernatetool]    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
    [hibernatetool]    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
    [hibernatetool]    at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
    [hibernatetool] java.util.zip.ZipException: error in opening zip file
    [hibernatetool]    at java.util.zip.ZipFile.open(Native Method)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:114)
    [hibernatetool]    at java.util.zip.ZipFile.<init>(ZipFile.java:131)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.getResourceURL(AntClassLoader.java:1014)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.findNextResource(AntClassLoader.java:146)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader$ResourceEnumeration.<init>(AntClassLoader.java:108)
    [hibernatetool]    at org.apache.tools.ant.AntClassLoader.findResources(AntClassLoader.java:958)
    [hibernatetool]    at java.lang.ClassLoader.getResources(ClassLoader.java:1016)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12$5.run(VersionHelper12.java:149)
    [hibernatetool]    at java.security.AccessController.doPrivileged(Native Method)
    [hibernatetool]    at com.sun.naming.internal.VersionHelper12.getResources(VersionHelper12.java:146)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getApplicationResources(ResourceManager.java:468)
    [hibernatetool]    at com.sun.naming.internal.ResourceManager.getInitialEnvironment(ResourceManager.java:159)
    [hibernatetool]    at javax.naming.InitialContext.init(InitialContext.java:219)
    [hibernatetool]    at javax.naming.InitialContext.<init>(InitialContext.java:175)
    [hibernatetool]    at org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
    [hibernatetool]    at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
    [hibernatetool]    at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:27)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180)
    [hibernatetool]    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133)
    [hibernatetool]    at org.hibernate.tool.ant.Hbm2DDLExporterTask.execute(Hbm2DDLExporterTask.java:55)
    [hibernatetool]    at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:171)
    [hibernatetool]    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    [hibernatetool]    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    [hibernatetool]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [hibernatetool]    at java.lang.reflect.Method.invoke(Method.java:597)
    [hibernatetool]    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
    [hibernatetool]    at org.apache.tools.ant.Task.perform(Task.java:348)
    [hibernatetool]    at org.apache.tools.ant.Target.execute(Target.java:357)
    [hibernatetool]    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    [hibernatetool]    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
    [hibernatetool]    at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
    [hibernatetool]    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultE


Top
 Profile  
 
 Post subject:
PostPosted: Wed Mar 18, 2009 12:58 pm 
Beginner
Beginner

Joined: Wed Oct 03, 2007 4:10 am
Posts: 46
you have to modify the hibernate.cfg.xml in order to use a non jndi datasource (somethin like this):

<session-factory>
<property name="hibernate.connection.driver_class">
org.hsqldb.jdbcDriver
</property>
<property name="hibernate.connection.url">
jdbc:mysql://localhost:3306/myapp?autoReconnect=true
</property>
<property name="hibernate.connection.username">
userA
</property>
<property name="hibernate.connection.password">
userA123
</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.timeout">300</property>
<property name="hibernate.c3p0.max_statements">50</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>

.....


You can use jndi but it is a bad idea because there is no standard way to do it and I think you don't really want to do that.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Mar 18, 2009 1:04 pm 
Newbie

Joined: Thu Oct 26, 2006 1:34 pm
Posts: 11
I want to use JNDI because I want to access a different database depending on the URL coming.

I have already a Host per URL in my tomcat server.xml file. In my opinion it fits naturally to use a Resource to define the database for each host.

What do you recommend instead?


Top
 Profile  
 
 Post subject:
PostPosted: Wed Mar 18, 2009 3:03 pm 
Beginner
Beginner

Joined: Wed Oct 03, 2007 4:10 am
Posts: 46
If I understand you have an web application which is deployed in tomcat(one tomcat per host with distinct databases mapped to jdbc/my_app) and you want to generate the sql schema script when some action it is executed from within browser?


you want to execute the ant task from within the web application?


Top
 Profile  
 
 Post subject:
PostPosted: Thu Mar 19, 2009 7:47 am 
Newbie

Joined: Thu Oct 26, 2006 1:34 pm
Posts: 11
I have a Web application deployed in tomcat. I have in tomcat/conf/server.xml several hosts. Each of them uses the same application code but different databases.

I want to execute the ant schema task in my developer environment. In my case eclipse. Not in a browser.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Mar 19, 2009 8:16 am 
Beginner
Beginner

Joined: Wed Oct 03, 2007 4:10 am
Posts: 46
If you want to that from developper or command line then you had nothing to do with tomcat runtime environment.

So you will have to make a special hibernate.cfg.xml to use with your ant schema generator task ... or you add

hibernate.hbm2ddl.auto = update or create in hibernate.cfg in order to

update or recreate your schema in the database.


you can acces the tomcat jndi context only from within tomcat runtime!


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 6 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.