EosQuartzConnectionProvider.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package com.primeton.dgs.workspace.quartz;
  2. import com.eos.common.connection.DataSourceHelper;
  3. import lombok.NonNull;
  4. import org.quartz.utils.ConnectionProvider;
  5. import org.quartz.utils.DBConnectionManager;
  6. import javax.sql.DataSource;
  7. import java.sql.Connection;
  8. import java.sql.SQLException;
  9. /**
  10. *
  11. * 使 Quartz 的数据源,共享使用 EOS 中的
  12. *
  13. * <pre>
  14. *
  15. * Created by zhaopx.
  16. * User: zhaopx
  17. * Date: 2020/4/7
  18. * Time: 13:54
  19. *
  20. * </pre>
  21. *
  22. * @author zhaopx
  23. */
  24. public class EosQuartzConnectionProvider implements ConnectionProvider {
  25. /**
  26. * 数据源
  27. */
  28. private final DataSource ds;
  29. /**
  30. * 必须提供默认的构造方法
  31. */
  32. public EosQuartzConnectionProvider() {
  33. this.ds = DataSourceHelper.getDataSource();
  34. // 给 Quartz 中添加数据源提供者
  35. DBConnectionManager.getInstance().addConnectionProvider("default",
  36. this);
  37. }
  38. @Override
  39. public Connection getConnection() throws SQLException {
  40. return this.ds.getConnection();
  41. }
  42. @Override
  43. public void shutdown() throws SQLException {
  44. // datasource 不能关闭
  45. }
  46. }