Please somone tell me how to configure a datasource in JBoss3.2.2 for PostgreSQL?
Anonymous
Ranch Hand
Joined: Nov 22, 2008
Posts: 18944
posted
0
Hi Mandar ! Well , I�ve already done this , but I�m not sure if I�m able to describe all the steps... But I think the following recipe can take you there.. In web.xml : <resource-ref > <res-ref-name>jdbc/MyDSName</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>CONTAINER</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> </resource-ref> In the C:\jboss-3.2.2_jetty-4.2.11\server\YourApp\deploy , you must create the postgres-ds.xml file : <?xml version="1.0" encoding="UTF-8"?> <!-- ===================================================================== --> <!-- --> <!-- JBoss Server Configuration --> <!-- --> <!-- ===================================================================== --> <!-- $Id: postgres-ds.xml,v 1.1.2.1 2003/09/05 16:38:24 patriot1burke Exp $ --> <!-- ==================================================================== --> <!-- Datasource config for Postgres --> <!-- ==================================================================== -->
<datasources> <local-tx-datasource> <jndi-name>PostgresDS</jndi-name> <connection-url>jdbcostgresql://yourserver ort/appcontext</connection-url> <driver-class>org.postgresql.Driver</driver-class> <user-name>user</user-name> <password>password</password> <!-- sql to call when connection is created <new-connection-sql>some arbitrary sql</new-connection-sql> --> <!-- sql to call on an existing pooled connection when it is obtained from pool <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql> --> </local-tx-datasource> </datasources> And finally, you have to create a jboss-web.xml in your WEB-INF app directory as follows :
<?xml version="1.0" encoding="UTF-8"?> <jboss-web> <resource-ref> <res-ref-name>jdbc/MyDSName</res-ref-name> <res-type>javax.sql.DataSource</res-type> <jndi-name>java:/PostgresDS</jndi-name> </resource-ref> </jboss-web> Then , in order to get the DS object, you have this code (using JNDI) : ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/MyDSName");
Everything I told you is correct, but I don�t remember if it�s all you�ve got to set everything up or if there�s something missing... so... give it a try and if you have problems, let me know... Best wishes, F�bio
Mandar Kulkarni
Greenhorn
Joined: Feb 16, 2004
Posts: 5
posted
0
Hi Fabio, Thanx for ur reply.But i am using JBoss for an Enterprise Application and not for Web Application.So can u tell me the configuration settings for EJB Development?
Anonymous
Ranch Hand
Joined: Nov 22, 2008
Posts: 18944
posted
0
Hi Mandar ! Sorry... but that�s all I know about this issue... Good luck ! F�bio
Randy Secrist
Greenhorn
Joined: Feb 28, 2004
Posts: 1
posted
0
Originally posted by Mandar Kulkarni: Hi Fabio, Thanx for ur reply.But i am using JBoss for an Enterprise Application and not for Web Application.So can u tell me the configuration settings for EJB Development?
Once you add the postgres datasource xml in your /deploy directory, jboss should load the datasource into a jndi name you can use in your ejb. There are many examples of how datasources should look like in $jboss_home/docs/examples/jca (if your using 3.2.2).
dre pac
Greenhorn
Joined: Feb 09, 2005
Posts: 1
posted
0
Thanks fabio for the help, it works like a breeze, from the first shot