HSQLDB 2.0即将发布.我想知道它是否会胜过H2,因为据我所知,大多数用户更喜欢H2而不是HSQLDB.我对HSQLDB 2.0的MVCC支持感兴趣.我了解到H2的MVCC仍然是实验性的.关于支持/文档,并发性,性能,两者之间哪个更好?
您认为这两个图书馆之间的优缺点是什么?这两个中哪一个最适合生产环境?顺便说一句,我将使用JSON而不是XML.
我也想知道社区最支持哪些库,例如教程,文档.
我有一个访问数据库的Jersey资源.基本上它在资源的初始化中打开数据库连接.对资源的方法执行查询.
我观察到当我不使用@Singleton时,数据库在每个请求都处于打开状态.我们知道打开连接真的很贵吗?
所以我的问题是,我应该指定资源是单例还是最好是按照请求保留它,特别是当资源连接到数据库时?
我的资源代码如下所示:
//Use @Singleton here or not?
@Path(/myservice/)
public class MyResource {
private ResponseGenerator responser;
private Log logger = LogFactory.getLog(MyResource.class);
public MyResource() {
responser = new ResponseGenerator();
}
@GET
@Path("/clients")
public String getClients() {
logger.info("GETTING LIST OF CLIENTS");
return responser.returnClients();
}
...
// some more methods
...
}
Run Code Online (Sandbox Code Playgroud)
我使用类似于此的代码连接到数据库:
public class ResponseGenerator {
private Connection conn;
private PreparedStatement prepStmt;
private ResultSet rs;
public ResponseGenerator(){
Class.forName("org.h2.Driver");
conn = DriverManager.getConnection("jdbc:h2:testdb");
}
public String returnClients(){
String result;
try{
prepStmt = conn.prepareStatement("SELECT …Run Code Online (Sandbox Code Playgroud) 我正在创建一个访问服务器中的SQLite数据库的Web应用程序.我也有"客户端"更新同一个数据库.正如我们所知,SQLite在INSERT期间锁定整个数据库,这是由客户端完成的,Web应用程序也在尝试同时进行一些UPDATE.所以我现在的问题是关于数据库访问的并发性.我想使用像SQLite这样的可嵌入数据库.有什么建议.
java ×4
database ×3
jersey ×2
web-services ×2
comparison ×1
concurrency ×1
cxf ×1
h2 ×1
hsqldb ×1
rest ×1
sqlite ×1