Hi all, I don't know exactly my problems lies, but think it may be in axis or I'm not sure. Because i got hold of the context in a normail servlet with this code
Context initCtx = null; Context envCtx; DataSource ds = null; try { initCtx = new InitialContext(); envCtx = (Context) initCtx.lookup("java:comp/env"); ds = (DataSource) envCtx.lookup("jdbc/workflowdb"); but when I try the same inside a web service I get this javax.naming.NameNotFoundException: Name java:comp is not bound in this Context So i guess it's something about classloading etc, but the usual solution about same jar files in <TOMCTA_HOME>/lib and weppAPP/WEB-INF/lib can't be used here since there are noe similar jar files. My enironment is a tomcat 6 and axis2 1.3. cheers, Håkon 2008/11/5 Mani <[EMAIL PROTECTED]> > > Hi > I am not sure whether you are still facing the issue. > if yes i think you can try like this: > > <properties> > <property name="openjpa.ConnectionFactoryName" > value="jdbc/AMPPARTS" > /> > <property name="openjpa.Log" > value="DefaultLevel=INFO,Tool=INFO" /> > <property name="openjpa.Sequence" > value="table(Table=OPENJPA_SEQUENCE_TABLE, Increment=1)"/> > <property name="openjpa.jdbc.Schema" value="Administrator"/> > </properties> > > It worked for me. Try again. All the best. > -Mani > > > Håkon Sagehaug wrote: > > > > Hi > > > > I think you may have to send me all ;). I tried from the beginning with a > > clean tomcat and axis 2 install, and configured like you said, but still > > the > > same problem, so if you could send me what you think I need for getting > it > > to work I would appreciate it > > > > cheers, Håkon > > > > 2008/11/3 Jeremy Bauer <[EMAIL PROTECTED]> > > > >> Are you running a packaged service within the Axis2 app (an .aar > archive) > >> or > >> is your service deployed as part of a separate web application? I was > >> able > >> to get an OpenJPA-based Axis2 service to work deployed within a > >> standalone > >> web application. I used Tomcat 5.5, Axis 2-1.4.1 and OpenJPA 1.2.0. > >> I simply added this entry to my <tomcat_home>/conf/context.xml: > >> > >> <Resource name="jdbc/TestDB" auth="Container" > >> type="javax.sql.DataSource" > >> maxActive="20" maxIdle="10" maxWait="10000" > >> username="yourusername" password="yourpassword" > >> driverClassName="com.mysql.jdbc.Driver" > >> > >> url="jdbc:mysql://localhost:3306/testdb?autoReconnect=true"/> > >> > >> And referenced the data source in my persistence.xml: > >> > >> <persistence-unit name="Tomcat"> > >> <jta-data-source>java:comp/env/jdbc/TestDB</jta-data-source> > >> <class>entities.TestData</class> > >> </persistence-unit> > >> > >> I also added the OpenJPA jar and necessary supporting jars > >> to <tomcat_home>/common/lib. > >> > >> If you'd like a copy of my .war with source please let me know. The > .war > >> contains Axis2 binaries, which are quite large, so I won't post it to > the > >> forum. I'd guess using a .aar should work as well (if you happen to be > >> doing that), but the configuration may be different. > >> > >> -Jeremy > >> > >> On Mon, Nov 3, 2008 at 12:20 PM, Jeremy Bauer <[EMAIL PROTECTED]> > >> wrote: > >> > >> > I found this: > >> > > >> > http://www.experts-exchange.com/Software/Server_Software/Application_Servers/Java/Apache_Tomcat/Q_23207819.htmlwhich > >> > indicated that you need to create a resource link between the data > >> source > >> > you defined in the service.xml and resource ref in the web.xml, by > >> defining > >> > this in the context.xml: > >> > > >> > <ResourceLink global="jdbc/workflowdb" name="jdbc/workflowdb" > >> > auth="Container" > >> > type="javax.sql.DataSource"/> > >> > > >> > -Jeremy > >> > > >> > > >> > On Mon, Nov 3, 2008 at 11:37 AM, Håkon Sagehaug < > >> > [EMAIL PROTECTED]> wrote: > >> > > Hi > >> > > > >> > > when I try to do this programmatically like this > >> > > > >> > > Context initCtx = null; > >> > > Context envCtx; > >> > > DataSource ds = null; > >> > > try { > >> > > initCtx = new InitialContext(); > >> > > // envCtx = (Context) initCtx.lookup("java:/comp/env"); > >> > > ds = (DataSource) > >> initCtx.lookup("java:comp/env/jdbc/workflowdb"); > >> > > } catch (NamingException e) { > >> > > // TODO Auto-generated catch block > >> > > e.printStackTrace(); > >> > > } > >> > > > >> > > propMap.put("openjpa.ConnectionFactory", ds); > >> > > propMap.put("openjpa.ConnectionFactoryMode", "managed"); > >> > > propMap.put("openjpa.FlushBeforeQueries", "false"); > >> > > > >> > > EntityManagerFactory emf = > Persistence.createEntityManagerFactory( > >> > > "MyOpenJPa", propMap); > >> > > > >> > > I always get > >> > > > >> > > javax.naming.NameNotFoundException: Name java:comp is not bound in > >> this > >> > > Context > >> > > > >> > > So I guess this is related, but followed the tomcat doc so I can't > >> > > understand why this does not work. > >> > > 2008/11/3 Håkon Sagehaug <[EMAIL PROTECTED]> > >> > > > >> > >> Hi > >> > >> > >> > >> I added resource configuration to the web.xml of axis2, and tried > >> also > >> > to > >> > >> make a web.xml for the web service but neither of this worked. Any > >> > onther > >> > >> tips, it world be realy nice to get this to work for me > >> > >> > >> > >> cheers, Håkon > >> > >> > >> > >> 2008/11/3 Jeremy Bauer <[EMAIL PROTECTED]> > >> > >> > >> > >> You may also need to define a resource reference in your web.xml. > >> > >>> This link contains a good example on how to configure and use a > >> data > >> > >>> source: > >> > >>> > >> > > >> > http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html > >> > >>> . > >> > >>> The configuration part is what is important for OpenJPA, since it > >> > >>> just looks up the data source via the JNDI name provided in the > >> > >>> <jta-data-source> element (as Mike pointed out). > >> > >>> > >> > >>> -Jeremy > >> > >>> > >> > >>> On Mon, Nov 3, 2008 at 9:22 AM, Michael Dick < > >> [EMAIL PROTECTED] > >> > > > >> > >>> wrote: > >> > >>> > Have you tried > >> > >>> > <jta-data-source>java:comp/env/jdbc/workflowdb</jta-data-source> > >> > instead > >> > >>> of > >> > >>> > the property for openjpa.ConnectionFactoryName? > >> > >>> > > >> > >>> > -mike > >> > >>> > > >> > >>> > On Mon, Nov 3, 2008 at 8:22 AM, Håkon Sagehaug > >> > >>> > <[EMAIL PROTECTED]>wrote: > >> > >>> > > >> > >>> >> Hi all, > >> > >>> >> > >> > >>> >> I've got a axis2 web service that is deployed in tomcat and > talk > >> to > >> > a > >> > >>> >> database using openjpa. This works fine when I just use the > >> > persistent > >> > >>> xml > >> > >>> >> to configure my db connection, but now I want to use tomcat to > >> > >>> configure > >> > >>> >> the > >> > >>> >> datasource. Here is my set-up > >> > >>> >> > >> > >>> >> persistent.xml > >> > >>> >> > >> > >>> >> > >> > >>> >> <persistence-unit name="MyOpenJPa" > >> > transaction-type="RESOURCE_LOCAL"> > >> > >>> >> > >> > >>> >> > >> > >>> > >> > > >> > <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> > >> > >>> >> > >> > >>> >> <class>demo.hibernate.MyPerson</class> > >> > >>> >> <properties> > >> > >>> >> <property name="openjpa.ConnectionFactoryName" > >> > >>> >> value="java:comp/env/jdbc/workflowdb" /> > >> > >>> >> <property name="openjpa.Log" > >> value="DefaultLevel=INFO, > >> > >>> >> Tool=INFO" /> > >> > >>> >> <property name="openjpa.Sequence" > >> > >>> >> value="table(Table=OPENJPA_SEQUENCE_TABLE, Increment=1)"/> > >> > >>> >> > >> > >>> >> </properties> > >> > >>> >> </persistence-unit> > >> > >>> >> > >> > >>> >> In tomcat's service xml I've got this > >> > >>> >> > >> > >>> >> <Resource name="jdbc/workflowdb" auth="Container" > >> > >>> >> type="javax.sql.DataSource" > >> > >>> >> maxActive="5" maxIdle="5" maxWait="10000" > >> > >>> >> username="name" password="password" > >> > >>> >> driverClassName="org.postgresql.Driver" > >> > >>> >> url="jdbc:postgresql://hostname/Workflows"/> > >> > >>> >> > >> > >>> >> I tried to put it into the <GlobalNamingResources> tag and > >> inside > >> a > >> > >>> >> <Context> tag using the axis2 as path, but I always get this > >> error > >> > back > >> > >>> >> > >> > >>> >> A JDBC Driver or DataSource class name must be specified in the > >> > >>> >> ConnectionDriverName property. > >> > >>> >> > >> > >>> >> Does anyone have a good tip on how to get this to work?? > >> > >>> >> > >> > >>> >> cheers, Håkon > >> > >>> >> > >> > >>> >> -- > >> > >>> >> Håkon Sagehaug, Software Developer > >> > >>> >> Parallab, Bergen Center for Computational Science (BCCS) > >> > >>> >> UNIFOB AS (University of Bergen Research Company) > >> > >>> >> > >> > >>> > > >> > >>> > >> > >> > >> > >> > >> > >> > >> > >> -- > >> > >> Håkon Sagehaug, Software Developer > >> > >> Parallab, Bergen Center for Computational Science (BCCS) > >> > >> UNIFOB AS (University of Bergen Research Company) > >> > >> > >> > > > >> > > > >> > > > >> > > -- > >> > > Håkon Sagehaug, Software Developer > >> > > Parallab, Bergen Center for Computational Science (BCCS) > >> > > UNIFOB AS (University of Bergen Research Company) > >> > > > >> > > >> > > >> > > > > > > > > -- > > Håkon Sagehaug, Software Developer > > Parallab, Bergen Center for Computational Science (BCCS) > > UNIFOB AS (University of Bergen Research Company) > > > > > > -- > View this message in context: > http://n2.nabble.com/Using-datasource-from-tomcat-with-openjpa-tp1449575p1459221.html > Sent from the OpenJPA Users mailing list archive at Nabble.com. > > -- Håkon Sagehaug, Software Developer Parallab, Bergen Center for Computational Science (BCCS) UNIFOB AS (University of Bergen Research Company)