001
014
015 package com.liferay.portal.scheduler.quartz;
016
017 import com.liferay.portal.dao.shard.ShardDataSourceTargetSource;
018 import com.liferay.portal.kernel.log.Log;
019 import com.liferay.portal.kernel.log.LogFactoryUtil;
020 import com.liferay.portal.kernel.util.InfrastructureUtil;
021
022 import java.sql.Connection;
023
024 import javax.sql.DataSource;
025
026 import org.quartz.utils.ConnectionProvider;
027
028
031 public class QuartzConnectionProvider implements ConnectionProvider {
032
033 @Override
034 public Connection getConnection() {
035 Connection con = null;
036
037 try {
038 ShardDataSourceTargetSource shardDataSourceTargetSource =
039 (ShardDataSourceTargetSource)
040 InfrastructureUtil.getShardDataSourceTargetSource();
041
042 if (shardDataSourceTargetSource != null) {
043 shardDataSourceTargetSource.resetDataSource();
044 }
045
046 DataSource dataSource = InfrastructureUtil.getDataSource();
047
048 con = dataSource.getConnection();
049 }
050 catch (Exception e) {
051 _log.error(e, e);
052 }
053
054 return con;
055 }
056
057 @Override
058 public void shutdown() {
059 }
060
061 private static Log _log = LogFactoryUtil.getLog(
062 QuartzConnectionProvider.class);
063
064 }