如何在没有“弹簧”使用的情况下将对象保存到“resteasy”应用程序范围?

时间:2013-02-27 16:21:02

标签: resteasy


你知道如何在不使用弹簧的情况下将对象设置为resteasy框架 例如,我有服务:

@Path("/customers")
public class CustomerResource {

   private MyDBconnection db = new MyDBconnection();

   ...

}

如何将db连接对象保存到所有Web服务器的应用程序范围?

1 个答案:

答案 0 :(得分:2)

我不会保存一个数据库连接以在多个物理服务器之间共享。我不确定这是不是你问的问题。我建议在每台服务器上共享连接/池。你能做的最简单的事就是简单的单身人士。但是,我建议你使用Guice https://code.google.com/p/google-guice/,这样你就可以在任何需要的地方做这样的事情。

@Path("/customers")
public class CustomerResource {
   @Inject
   private Connection db;

   ...
}

然后你可以定义一个类似于

的guice模块
public class DatabaseModule extends AbstractModule {
    @Override
    protected void configure() {
        ...
    }

    @Provides
    @Singleton
    Connection provideConnection() {
        MyDBConnection connection = new MyDBConnection("jdbc:mysql....");
        connection.setSomeCustomStuff(someCustomStuff);
        return connection;
    }
}

我知道目前,resteasy只支持Guice 2.0。如果你可以忍受这种酷,如果没有,我可以帮助你将Guice 3.0与resteasy集成,因为我自己完成了它并且它运作良好。