Embedded jetty 嵌入式jetty的JDBC会话(9.4以上版本)

Embedded jetty 嵌入式jetty的JDBC会话(9.4以上版本),embedded-jetty,session-management,Embedded Jetty,Session Management,我试图为嵌入式jetty server实现jdbc会话,以便在openshift环境中跨节点共享会话(避免用户在部署时丢失会话)。现有的官方文件()仅包含Jetty分发实施的实施细节。 目前有一个类似但不完整的解决方案 这里不清楚如何创建DatabaseAdapter对象。有人能帮忙吗?创建数据库适配器非常简单。下面是一个例子: DatabaseAdaptor driverAdaptor = new DatabaseAdaptor(); driverAdaptor.setDriverInfo(&

我试图为嵌入式jetty server实现jdbc会话,以便在openshift环境中跨节点共享会话(避免用户在部署时丢失会话)。现有的官方文件()仅包含Jetty分发实施的实施细节。 目前有一个类似但不完整的解决方案


这里不清楚如何创建DatabaseAdapter对象。有人能帮忙吗?

创建数据库适配器非常简单。下面是一个例子:

DatabaseAdaptor driverAdaptor = new DatabaseAdaptor();
driverAdaptor.setDriverInfo("com.mysql.jdbc.Driver",
                            "jdbc:mysql://127.0.0.1:3306/sessions?user=sessionsadmin");
这就是使用driver类创建一个驱动程序所需要做的全部工作。还有其他选项可用于传递javax.sql.DataSource,或者传递jndi字符串进行查找以获取javax.sql.DataSource。但是使用驱动程序类和jdbc字符串是非常常见的

实际上,您不必在DatabaseAdapter上设置任何其他内容,因为它会尝试从连接返回的元数据中计算出数据库之间发生变化时所需的内容。在数据库之间发生变化的一些示例是一些sql类型的名称,如字符串、long和blob。例如,对于Oracle,long是
number(20)
,但对于其他数据库,它是
bigint
。如果DatabaseAdapter无法计算出来,您可能需要显式地告诉它这些类型名称是什么,但在大多数情况下,DatabaseAdapter能够计算出来

DatabaseAdaptor driverAdaptor = new DatabaseAdaptor();
driverAdaptor.setDriverInfo("com.mysql.jdbc.Driver",
                            "jdbc:mysql://127.0.0.1:3306/sessions?user=sessionsadmin");