🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #523

Re: Configurar DataSource en JBoss para postgresql

#523
From: Gbas
Date: Tue, 17 Jul 2007 08:36
112 lines
5622 bytes
Hola

Tu fichero de configuración debe llamarse appdb-ds.xml, y no
simplemente appdb.xml . Con el "-ds" le dices a jboss que lo lea e
interprete como datasource.
http://wiki.jboss.org/wiki/Wiki.jsp?page=DSdotXML

Espero te ayude. Saludos.


On 9 jul, 09:15, alidhaey <alidh...@gmail.com> wrote:
> Hola,
>
> Quisiera poder configurar una aplicación (desarrollada con struts,
> springs e hibernate) en la que no tuviese que modificar el .WAR de
> despliegue en el servidor de producción (JBOSS) para la conexión con
> la base de datos (Postgresql).
>
> Hasta ahora, los datos de la configuración estan en el fichero src/
> ApplicationContext
>
> <!-- Definición del datasource -->
>     <bean id="dataSource"
> class="org.springframework.jdbc.datasource.DriverManagerDataSource">
>         <property name="driverClassName"><value>org.postgresql.Driver</
> value></property>
>         <property name="url"><value>jdbc:postgresql://servidor:5432/
> appdb</value></property>
>         <!--  <property name="url"><value>jdbc:postgresql://localhost:
> 5432/appdb</value></property>-->
>         <property name="username"><value>usuario</value></property>
>         <property name="password"><value>password</value></property>
>     </bean>
>
> pero esto me obliga a tener que modificar el war posteriormente.
>
> Sé que existe una forma, en la que se configura un DataSource en el
> servidor de aplicación y en la aplicación se hace que apunte a ese
> dataSource, evitando los inconvenientes pero hasta ahora no doy con la
> tecla.
>
> Según tengo entendido, para JBoss se realiza de la siguiente forma:
>
> Modificacion en fichero src/ApplicationContext
>
>         <bean id="dataSource"
>                 class="org.springframework.jndi.JndiObjectFactoryBean">
>                 <property name="jndiName"
>                 value="java:comp/env/jdbc/appdb" />
>         </bean>
>         <!-- Eliminando anterior definición -->
>
> En el fichero WebContent/WEB-INF/web.xml
>
>         <resource-ref>
>                 <description>BD AppDB</description>
>                 <res-ref-name>jdbc/appdb</res-ref-name>
>                 <res-type>javax.sql.DataSource</res-type>
>                 <res-auth>Container</res-auth>
>         </resource-ref>
>
> En el fichero WebContect/wEB-INF/jboss-web.xml
>
>         <jboss-web>
>                 <resource-ref>
>                         <res-ref-name>jdbc/appdb</res-ref-name>
>                         <res-type>javax.sql.DataSource</res-type>
>                         <jndi-name>java:comp/env/jdbc/appdb</jndi-name>
>                 </resource-ref>
>         </jboss-web>
>
> y en la parte del servidor, es necesario crear un fichero con los
> datos de conexion, que yo he llamado 'appdb.xml' y he situado en
> en el directoio $JBOSS/server/default/deploy/
>
> <datasources>
>   <local-tx-datasource>
>     <jndi-name>java:comp/env/jdbc/appdb</jndi-name>
>     <connection-url>jdbc:postgresql://servidorProcuccion:5432/appdb</
> connection-url>
>     <driver-class>org.postgresql.Driver</driver-class>
>     <user-name>usuario</user-name>
>     <password>passwd</password>
>         <!-- sql to call when connection is created.  Can be anything,
> select 1 is valid for PostgreSQL
>         <new-connection-sql>select 1</new-connection-sql>
>         -->
>
>         <!-- sql to call on an existing pooled connection when it is
> obtained from pool.  Can be anything, select 1 is valid for PostgreSQL
>         <check-valid-connection-sql>select 1</check-valid-connection-
> sql>
>         -->
>
>       <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml
> (optional) -->
>       <metadata>
>          <type-mapping>PostgreSQL 7.2</type-mapping>
>       </metadata>
>   </local-tx-datasource>
> </datasources>
>
> A su vez, en el directorio $JBOSS/lib/ he puesto la biblioteca
> postgresql-8.1-405.jdbc3.jar
>
> Tal como tengo la configuracion actualmente, me sale una excepcion por
> desbordamiento de pila (stackOverflow) cuando el JBOSS intenta hacer
> el despliegue de la aplicación y que no quiero poner aqui por ser
> excesivamente largo pero que si alguno lo quiero ver, lo posteo
> igualmente.
>
> Un saludo y gracias.
Technical Details
Message-ID: <1184661393.243587.209930@x35g2000prf.googlegroups.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!x35g2000prf.googlegroups.com!not-for-mail
References: <1183965308.668627.37530@n2g2000hse.googlegroups.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,7f82a743b42a5a47
X-Google-Attributes: gid1116f3,public,usenet
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!x35g2000prf.googlegroups.com!not-for-mail
From:  Gbas <gbas13@gmail.com>
Newsgroups: es.comp.lenguajes.java
Subject: Re: Configurar DataSource en JBoss para postgresql
Date: Tue, 17 Jul 2007 08:36:33 -0000
Organization: http://groups.google.com
Lines: 114
Message-ID: <1184661393.243587.209930@x35g2000prf.googlegroups.com>
References: <1183965308.668627.37530@n2g2000hse.googlegroups.com>
NNTP-Posting-Host: 62.43.188.8
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1184661393 15482 127.0.0.1 (17 Jul 2007 08:36:33 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 17 Jul 2007 08:36:33 +0000 (UTC)
In-Reply-To: <1183965308.668627.37530@n2g2000hse.googlegroups.com>
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4,gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: x35g2000prf.googlegroups.com; posting-host=62.43.188.8;
   posting-account=ps2QrAMAAAA6_jCuRt2JEIpn5Otqf_w0