加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

对db4o的再包装

发布时间:2020-12-14 17:09:57 所属栏目:大数据 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 /** * */@Typedpackage org.lucifer.db4oimport org.lucifer.util.MyLoggerimport com.db4o.Db4oEmbeddedimport com.db4o.EmbeddedObjectContainerimp

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

/**
 *
 */
@Typed
package org.lucifer.db4o

import org.lucifer.util.MyLogger

import com.db4o.Db4oEmbedded
import com.db4o.EmbeddedObjectContainer
import com.db4o.ObjectContainer
import com.db4o.ObjectServer
import com.db4o.config.EmbeddedConfiguration
import com.db4o.config.QueryEvaluationMode
import com.db4o.cs.Db4oClientServer
import com.db4o.cs.config.ClientConfiguration
import com.db4o.cs.config.ServerConfiguration
/**
 * @author Lucifer
 *
 */
final class Db4oUtil {
	static final MyLogger logger = new MyLogger(Db4oUtil.class)
	public static final QueryEvaluationMode IMMEDIATE = QueryEvaluationMode.IMMEDIATE,SNAPSHOT = QueryEvaluationMode.SNAPSHOT,LAZY = QueryEvaluationMode.LAZY;

	private Db4oUtil() {
	}

	static EmbeddedObjectContainer openEmbeddedDatabase(String dbname,EmbeddedConfiguration config = Db4oUtil.getEmbeddedConfiguration()) {
		def container = null
		try {
			try {
				container = Db4oEmbedded.openFile(config,dbname)
			} finally {
				container?.close()
			}
		} catch(Exception ex) {
			logger.throwing("openEmbeddedDatabase",ex)
		}
		return container
	}

	static ObjectServer openEmbeddedServer(String dbname,ServerConfiguration config = Db4oUtil.getServerConfiguration()) {
		return Db4oClientServer.openServer(config,dbname,0)
	}

	static ObjectContainer opeEmbeddedClient(ObjectServer server) {
		return server.openClient()
	}

	static ObjectServer openNetworkServer(String dbname,int port,String user,String passwd,ServerConfiguration config = Db4oUtil.getServerConfiguration()) {
		def server = Db4oClientServer.openServer(config,port)
		server.grantAccess(user,passwd)
		return server
	}

	static ObjectContainer openNetworkClient(String ip,ClientConfiguration config = Db4oUtil.getClientConfiguration()) {
		return Db4oClientServer.openClient(config,ip,port,user,passwd)
	}

	static EmbeddedConfiguration getEmbeddedConfiguration() {
		return Db4oEmbedded.newConfiguration()
	}

	static ServerConfiguration getServerConfiguration() {
		return Db4oClientServer.newServerConfiguration()
	}

	static ClientConfiguration getClientConfiguration() {
		return Db4oClientServer.newClientConfiguration()
	}
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读