1
22
23 package com.liferay.portal.dao.jdbc.pool.c3p0;
24
25 import com.liferay.portal.kernel.log.Log;
26 import com.liferay.portal.kernel.log.LogFactoryUtil;
27 import com.liferay.portal.kernel.util.GetterUtil;
28 import com.liferay.portal.util.PropsUtil;
29
30 import com.mchange.v2.c3p0.ConnectionCustomizer;
31
32 import java.sql.Connection;
33
34
39 public class PortalConnectionCustomizer implements ConnectionCustomizer {
40
41 public void onAcquire(
42 Connection connection, String parentDataSourceIdentityToken)
43 throws Exception {
44
45 if (_log.isDebugEnabled()) {
46 _log.debug("JDBC property prefix " + parentDataSourceIdentityToken);
47 }
48
49 String transactionIsolation = PropsUtil.get(
50 parentDataSourceIdentityToken + "transactionIsolation");
51
52 if (_log.isDebugEnabled()) {
53 _log.debug("Custom transaction isolation " + transactionIsolation);
54 }
55
56 if (transactionIsolation != null) {
57 connection.setTransactionIsolation(
58 GetterUtil.getInteger(transactionIsolation));
59 }
60 }
61
62 public void onCheckIn(
63 Connection connection, String parentDataSourceIdentityToken) {
64 }
65
66 public void onCheckOut(
67 Connection connection, String parentDataSourceIdentityToken) {
68 }
69
70 public void onDestroy(
71 Connection connection, String parentDataSourceIdentityToken) {
72 }
73
74 private static Log _log =
75 LogFactoryUtil.getLog(PortalConnectionCustomizer.class);
76
77 }