论坛

主页 » Liferay Portal » Español » 3. Desarrollo

组合视图 统一视图 树状图
讨论主题 [ 上一个 | 下一个 ]
Xavier Moreno
Compartir propiedades para la configuración entre portlets
2009年4月20日 上午7:54
答复

Xavier Moreno

等级: Junior Member

帖子: 25

加入日期: 2009年3月24日

最近的帖子

Buenas, tengo una duda a ver si me la podéis aclarar :-). Resulta que tengo varios portlets, los cuales tienen definidos el mismo DataSource. Me gustaría que todos los parámetros de configuración se obtuviesen, por ejemplo, en un archivo properties que fuese accesible por todos los portlets (ya que comparten en este caso los mismos datos y no veo la necesidad de ir repitiendo código).... ¿cuál sería la mejor forma?, a lo que me refiero es algo como:

archivo.properties
#Conexion para los portlets
portlet.jdbc.driver=oracle.jdbc.driver.OracleDriver
portlet.jdbc.url=jdbc:oracle:thin:@XX.XX.XX.XXX:YYYY:od10
portlet.jdbc.user=xxxx
portlet.jdbc.password=xxxx


spring-jpa.xml del Portlet 1
<bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${portlet.jdbc.driver}</value>
</property>

<property name="url">
<value>${portlet.jdbc.url}</value>
</property>

<property name="username">
<value>${portlet.jdbc.user}</value>
</property>

<property name="password">
<value>${portlet.jdbc.password}</value>
</property>
</bean>


spring-jpa.xml del Portlet 2
<bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${portlet.jdbc.driver}</value>
</property>

<property name="url">
<value>${portlet.jdbc.url}</value>
</property>

<property name="username">
<value>${portlet.jdbc.user}</value>
</property>

<property name="password">
<value>${portlet.jdbc.password}</value>
</property>
</bean>


.
.
.


Muchas gracias por adelantado
Julio Camarero
RE: Compartir propiedades para la configuración entre portlets
2009年4月20日 上午10:27
答复

Julio Camarero

LIFERAY STAFF

等级: Liferay Legend

帖子: 1641

加入日期: 2008年7月15日

最近的帖子

Hola Xavier,

probablemente estos parámetros sean los mismos que tengas en el portal-ext.properties, no?

por qué no los coges de alli?

un saludo!

Julio Camarero
Liferay España
Xavier Moreno
RE: Compartir propiedades para la configuración entre portlets
2009年4月20日 上午11:11
答复

Xavier Moreno

等级: Junior Member

帖子: 25

加入日期: 2009年3月24日

最近的帖子

Buenas Julio, y gracias por responder :-)

Al ser una fuente de datos distinta a la de Liferay, había pensado en usar también el portal-ext.properties para añadir estas nuevas propiedades, pero no sé porque motivo dentro del xml del portlet no me reconoce la propiedad. A lo mejor es que no lo estoy haciendo bien, que esa es otra, pero vamos ¿de qué forma se pueden invocar los valores de las propiedades del portal-ext.properties dentro de la configuración spring-jpa.xml de un portlet?

Muchas gracias
Julio Camarero
RE: Compartir propiedades para la configuración entre portlets
2009年4月21日 上午9:02
答复

Julio Camarero

LIFERAY STAFF

等级: Liferay Legend

帖子: 1641

加入日期: 2008年7月15日

最近的帖子

Hola Xavier,

normalmente en Liferay lo hacemos así:

Un ejemplo:

GetterUtil.getBoolean(PortletProps.get("validation.script.enabled"))

La clase GetterUtil también tiene getInteger, getString... y entre comillas le pones la propiedad que quieres. Tienes muchos más ejemplos en el código fuente de Liferay, te recomiendo que le eches un ojo a cualquier portlet que use propiedades para qeu lo veas.

un saludo!

Julio Camarero
Liferay España
Xavier Moreno
RE: Compartir propiedades para la configuración entre portlets
2009年4月21日 上午9:05
答复

Xavier Moreno

等级: Junior Member

帖子: 25

加入日期: 2009年3月24日

最近的帖子

Gracias Julio, pero mi problema viene en como usarlo dentro de los xml de configuración, como por ejemplo en un spring-jpa.xml, vamos como en el ejemplo que puse arriba.

Muchas gracias por todo