a1215656324 2014-11-15 12:30 采纳率: 0%
浏览 869

atomikos mysql 集成到 webapp jetty 容器

论坛里的大神们 help!
atomikos 集成到 webapp jetty 容器 没有spring 官方文档都翻烂了 还是有问题 ERROR IN RECOVERY

14-11-15 19:33:24,744 [qtp1370793803-22] Logfile closed: C:\Users\Administrator\workspace\kyqo2o.\tmlog-1.log
14-11-15 19:33:24,771 [qtp1370793803-22] Installing recovery service on resource authentication
14-11-15 19:33:24,771 [qtp1370793803-22] authentication: refreshing XAResource...
14-11-15 19:33:24,773 [qtp1370793803-22] ERROR IN RECOVERY
java.lang.NullPointerException
at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:428)
at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:138)
at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:108)
at com.mysql.jdbc.jdbc2.optional.MysqlXADataSource.getXAConnection(MysqlXADataSource.java:48)

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 02:43
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    Atomikos是一个用于MySQL的JDBC驱动程序。它支持事务管理、锁和一致性等特性。

    在使用Atomikos连接MySQL数据库时,你需要首先确保你的Jetty容器已经启动,并且正在运行一个监听特定端口的服务(例如jetty -webapps)。然后,你可以通过以下步骤配置Jetty来使用Atomikos:

    1. /conf/server.xml文件中添加以下内容以启用Atomikos:
    <Connector port="3306" protocol="HTTP/1.1"
               connectionTimeout="20000" redirectPort="8080" />
    
    1. /conf/application.xml文件中添加以下内容以将Atomikos作为应用的一部分:
    <Context path="/myapp">
        <Resource name="atomikos" auth="true" authUser="root" authPassword="" authRoles=""/>
    </Context>
    
    1. 在你的Java应用程序中,你需要创建一个MysqlConnectionFactory对象并将其传递给DriverManager。这是使用Atomikos连接数据库的基本步骤:
    public class MyApp {
        public static void main(String[] args) throws SQLException {
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mydb", "username", "password");
            Statement stmt = conn.createStatement();
            // 执行SQL查询
            String query = "SELECT * FROM mytable";
            ResultSet rs = stmt.executeQuery(query);
            while (rs.next()) {
                System.out.println(rs.getString(1));
            }
            rs.close();
            stmt.close();
            conn.close();
        }
    }
    

    注意:你需要替换上述代码中的localhost, mydb, username, 和 password为实际值。 如果你遇到了任何错误,请检查你的配置是否正确,并尝试解决。

    评论

报告相同问题?