portlet yang dapat select dan input data ke database yang ada pada server terpisah

50 views
Skip to first unread message

elza triani

unread,
Nov 4, 2014, 4:34:49 AM11/4/14
to lifer...@googlegroups.com
versi Liferay yang digunakan : liferay 6.2

Permisi, izin bertanya bagaimana caranya membuat portlet yang dapat memanggil dan menginput data ke database yang berada pada server yang berbeda. saya telah mencoba mencari tutorialnya, namun saya masih kurang faham, untuk itu mohon bantuan dan balasannya, saya baru belajar liferay, salam.

Chris K

unread,
Nov 4, 2014, 7:27:08 PM11/4/14
to lifer...@googlegroups.com

Bisa, tinggal definisikan data source aja di tomcat, dan data source nya bisa dibuat untuk menunjuk ke database lain di server berbeda tersebut. Lalu data source tersebut dipanggil dari portlet. 

Contoh sample codenya ada di sini : 


Cara gampangnya : coba buat  aplikasi web simple yang konek ke mysql dengan jdbc. Lalu convert aplikasi web itu ke portlet. 



2014-11-04 17:34 GMT+08:00 elza triani <elza....@gmail.com>:
versi Liferay yang digunakan : liferay 6.2

Permisi, izin bertanya bagaimana caranya membuat portlet yang dapat memanggil dan menginput data ke database yang berada pada server yang berbeda. saya telah mencoba mencari tutorialnya, namun saya masih kurang faham, untuk itu mohon bantuan dan balasannya, saya baru belajar liferay, salam.

--

---
Anda menerima pesan ini karena berlangganan grup "Liferay User Group Indonesia" di Google Grup.
Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke liferay-id+...@googlegroups.com.
Untuk opsi lebih lanjut, kunjungi https://groups.google.com/d/optout.

elza triani

unread,
Nov 4, 2014, 7:37:13 PM11/4/14
to
apakah untuk input menggunakan caraa yang sama? sebelumnya maaf saya banyak bertanya, saya tidak pernah tahu tentang liferay sebelumnya, tapi sudah disuruh buat di tempat kerja hehe
lalu file $CATALINA_HOME/context.xml , file context.xml yang dimaksud yang berada dimana ya? apakah yang disini /opt/liferay/portal/apache-tomcat-7.0.55/conf?

Untuk berhenti berlangganan dan berhenti menerima email dari grup ini, kirim email ke liferay-id+unsubscribe@googlegroups.com.

Untuk opsi lebih lanjut, kunjungi https://groups.google.com/d/optout.

--

---
Anda menerima pesan ini karena berlangganan topik dalam grup "Liferay User Group Indonesia" di Google Grup.
Untuk berhenti berlangganan topik ini, kunjungi https://groups.google.com/d/topic/liferay-id/llm7pWB3wCc/unsubscribe.
Untuk berhenti berlangganan grup ini dan semua topiknya, kirim email ke liferay-id+unsubscribe@googlegroups.com.

zuniawan andi prastia

unread,
Nov 4, 2014, 9:08:44 PM11/4/14
to lifer...@googlegroups.com
Ada banyak cara untuk menghubungkan portlet kita ke database external salah satunya seperti yang Pak Christianto Sahat sudah jelaskan di atas. 
Contoh lain kalau kita pakai default liferay service builder, kita juga bisa define di tiap2 entity dalam service xml untuk dihubungkan dalam database tertentu:

"<entity name="Resolutions" table="RESOLUTIONS" local-service="true" cache-enabled="false"
remote-service="true" data-source="extDataSource" session-factory="extSessionFactory"
tx-manager="extTransactionManager">"

kemudian dalam /WEB-INF/src/META-INF kita tambahkan ext-spring.xml untuk define datasource (bisa juga dalam bentuk JNDI)

"
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
<beans>

<!--
<bean id="extDataSourceTarget"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://ext-host:3306/$yourDB" />
<property name="username" value="$yourname" />
<property name="password" value="$yourPass" />
</bean>
-->

<bean id="extDataSourceTarget"
class="com.liferay.portal.spring.jndi.JndiObjectFactoryBean" lazy-init="true">
  <property name="jndiName">
  <value>java:jboss/datasources/extDS</value>
  </property>
  </bean>


<bean id="netsDataSource"
class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">
<property name="targetDataSource">
<ref bean="netsDataSourceTarget" />
</property>
</bean>
<bean id="extHibernateSessionFactory"
class="com.liferay.portal.spring.hibernate.PortletHibernateConfiguration">
<property name="dataSource">
<ref bean="extDataSource" />
</property>
</bean>
<bean id="extSessionFactory" class="com.liferay.portal.dao.orm.hibernate.SessionFactoryImpl">
<property name="sessionFactoryImplementor">
<ref bean="extHibernateSessionFactory" />
</property>
</bean>
<bean id="netsTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="dataSource">
<ref bean="extDataSource" />
</property>
<property name="sessionFactory">
<ref bean="extHibernateSessionFactory" />
</property>
</bean>
</beans>
"



On Wednesday, November 5, 2014 7:37:13 AM UTC+7, elza triani wrote:
apakah untuk input menggunakan caraa yang sama? sebelumnya maaf saya banyak bertanya, saya tidak pernah tahu tentang liferay sebelumnya, tapi sudah disuruh buat di tempat kerja hehe
Pada 5 November 2014 07.27, Chris K <csa...@gmail.com> menulis:

--

---
Anda menerima pesan ini karena berlangganan topik dalam grup "Liferay User Group Indonesia" di Google Grup.
Untuk berhenti berlangganan topik ini, kunjungi https://groups.google.com/d/topic/liferay-id/llm7pWB3wCc/unsubscribe.
Untuk berhenti berlangganan grup ini dan semua topiknya, kirim email ke liferay-id+...@googlegroups.com.

elza triani

unread,
Nov 4, 2014, 9:35:52 PM11/4/14
to lifer...@googlegroups.com
saya sudah mencoba langkah-langkah yang tadi dijelaskan oleh Pak Christianto Sahat, yaitu mengikuti tutorial https://www.liferay.com/community/wiki/-/wiki/Main/Add+Datasource+to+Portlet namun ynag terjadi localhost:8080 saya tidak menampilkan apa-apa (putih polos)

Chris K

unread,
Nov 5, 2014, 1:49:27 AM11/5/14
to lifer...@googlegroups.com
Iya, kalau mau pake service buildernya Liferay, bisa juga cara yang diterangkan Pak Zuniawan, bisa konek ke multiple data source. 

Kalau belum pernah pake Liferay ya pasti bingung sih dijelasin, lebih baik belajar dulu aja gimana cara bikin Hello World Portlet.  Ada kok contohnya di sample nya Liferay, buka aja di sourceforge Liferay, ada banyak sample di situ. 

Kalau sudah bisa bikin sample portlet, belajar service buildernya Liferay.  Ada sample2 juga di sourceforge utk service builder, dan tutorial juga banyak bertebaran. 

Buku Portlet In Action juga cukup baik buat referensi. 



elza triani

unread,
Nov 5, 2014, 2:02:41 AM11/5/14
to lifer...@googlegroups.com
saya udah bisa buat portlet  mas, service builder juga udah saya coba kemarin dan gak ada error, tapi saya gatau cara manggilnya di portlet kaya gimana, terus saya cobain deh tuh tutorial yang tadi eh localhost:8080 malah reload terus mas dari jam setengah 9 tadi sampe sekarang, udah di shutdown tapi ngga mati servicenya, saya harus gimana mas sekarang?

Chris K

unread,
Nov 5, 2014, 4:39:23 AM11/5/14
to lifer...@googlegroups.com
Panggil service builder di portlet ya cukup panggil Util methodnya aja kayak gini : (asumsi nama domain objectnya Item )

int count = ItemLocalServiceUtil.getItemsCount();

elza triani

unread,
Nov 5, 2014, 4:41:58 AM11/5/14
to lifer...@googlegroups.com
Ooooooooh terimakasih banyak, Pak Chris. Lalu bagaimana agar localhost:8080 saya kembali normal lagi pak, ini masih reload.

Chris K

unread,
Nov 5, 2014, 4:43:24 AM11/5/14
to lifer...@googlegroups.com
Ya dimatikan aja Tomcatnya, rollback saja semua code nya..... re-deploy, terus restart lagi deh Tomcat nya

2014-11-05 17:41 GMT+08:00 elza triani <elza....@gmail.com>:
Ooooooooh terimakasih banyak, Pak Chris. Lalu bagaimana agar localhost:8080 saya kembali normal lagi pak, ini masih reload.

--

elza triani

unread,
Nov 5, 2014, 4:46:29 AM11/5/14
to lifer...@googlegroups.com
sudah di shutdown tapi servicenya tidak berhenti, pak. codenya sudah di rollback juga

--

---
Anda menerima pesan ini karena berlangganan topik dalam grup "Liferay User Group Indonesia" di Google Grup.
Untuk berhenti berlangganan topik ini, kunjungi https://groups.google.com/d/topic/liferay-id/llm7pWB3wCc/unsubscribe.
Untuk berhenti berlangganan grup ini dan semua topiknya, kirim email ke liferay-id+...@googlegroups.com.

elza triani

unread,
Nov 5, 2014, 10:40:35 PM11/5/14
to lifer...@googlegroups.com
tomcat saya sudah normal lagi mas, pak. mohon maaf kalau bapak punya waktu, saya minta buatkan step by step atau tutorial lengkap cara buat portlet yang mengambil dan menginput data ke database pada server lain menggunakan service builder, mulai dari mengatur service.xml dan juga mengatur ip server databasenya pak, terimakasih.
Reply all
Reply to author
Forward
0 new messages