当前位置: 首页 > 知识库问答 >
问题:

如何在Cloud Spanner中为企业应用创建连接池

宫修贤
2023-03-14

我对Cloud Spanenr很陌生。我已经理解了hoe创建连接(dbClient),并用于事务和执行查询/其他突变。但是我不清楚如何为云Spanner创建ConnectionPooling,有SpannerOptions,Session/SessionPoolOptions。通过创建

 SpannerOptions options = SpannerOptions.newBuilder().build();
          Spanner spanner = options.getService();
DatabaseClient dbClient = spanner.getDatabaseClient(db);

将处理企业应用程序所需的connectionPooling。

如果我们将Connection object从Pool中取出,并返回到Pool中重新重用,而不是多次创建连接,那么是否有一种正确的方法来创建JDBC/Hibernate风格的连接池。

我已经创建了connection对象,并创建了带有查询和突变的所有类型事务以及其他过程。我正在创建一个集中的库来证明多个DAO的连接(dbClient)。无法获得适当的文档或过程来实现云扳手的JDBC/Hibernate风格的连接池类

 SpannerOptions options = SpannerOptions.newBuilder().build();
          Spanner spanner = options.getService();
            try {
              DatabaseId db = DatabaseId.of(options.getProjectId(),SpannerInstanceId, SpannerDatabaseId);

              String clientProject = spanner.getOptions().getProjectId();
              if (!db.getInstanceId().getProject().equals(clientProject)) {
                System.err.println(
                    "Invalid project specified. Project in the database id should match"
                        + "the project name set in the environment variable GCLOUD_PROJECT. Expected: "
                        + clientProject);
              }
              DatabaseClient dbClient = spanner.getDatabaseClient(db);
              dbClient
              .readWriteTransaction()
              .run(
                  new TransactionCallable<Void>() {
                    @Override
                    public Void run(TransactionContext transaction) throws Exception {
                        ResultSet resultSet;

当前,当需要连接时,我尝试对每个Dao方法重复相同的操作。我希望创建一个集中的类来提供这个连接表单连接池,并将其返回到池中以进行RESUE。

共有1个答案

沈华晖
2023-03-14

在Cloud Spanner中,与数据库的长期“连接”/“通信通道”由“session”而不是databaseClient对象建模。DatabaseClient对象已经在SessionPool对象中内部实现了连接(会话)池,该对象可以通过SessionPoolOptions进行配置。

如果您希望管理自己的会话,而不是为每个DAO对象提供DatabaseClient对象(或包装它的类),那么您可以初始化自己的SessionPool,并为每个对象提供一个Session对象(或包装它的类)。

 类似资料:
  • 由企业内部开发的应用,可连接企业内部系统,仅能在本企业内使用 1、进入企业管理平台-应用中心,创建应用 2、填写应用基本信息 3、从通讯录中选择应用可见范围,应用仅会出现在可见范围内员工的客户端上

  • 通过调用API接口,将企业已有应用接入企业微信,并展示在工作台中,供成员使用。 创建应用 1 / 创建新的应用 01/02在【管理后台】>【企业应用】> 【自建应用】中选择【+创建应用】。 02/02完成应用logo/应用名称/应用介绍/可见范围等基本设置。 2 / 接口设置 创建应用后,根据应用将满足的办公场景,选择不同的API接口。目前支持: 发送消息/接收消息/自动回复 网页授权及JS-SD

  • 当我尝试使用向导(蚂蚁项目)创建企业应用程序时,我得到以下错误 当然,向导中的所有字段都已填充。但是,单独创建WAR和EJB时没有错误。该错误仅在创建EAR时发生,即使EAR为空。 使用 NetBeans 12.6 Windows 10 OS Glassfish服务器6.2.1 Java17 所有路径均正确拼写,并设置了对目录的读/写权限 屏幕

  • 安装企业微信移动客户端后,可先在手机上创建企业,先行体验企业微信的便捷高效。 手机创建企业 1 / 创建流程 01/05选择微信登录。 02/05进行登录授权。 03/05输入管理员的手机号码及企业邮箱帐号。 04/05填写公司名称及管理员真实姓名。 05/05创建成功,开始体验企业微信。 2 / 移动端补充营业执照 若想体验功能更完整的企业微信,建议在手机上认领企业,补充营业执照。认领后可获得1

  • 1.手机端 手机轻推-通讯录-我的企业/组织机构-创建企业,输入企业名称即可完成创建。 2. 电脑端 电脑端(网页端)轻推-通讯录-我的企业/组织机构-创建企业,输入企业名称即可完成创建。

  • 1.手机端 手机轻推-通讯录-我的企业/组织机构-创建企业,输入企业名称即可完成创建。 2. 电脑端 电脑端(网页端)轻推-通讯录-我的企业/组织机构-创建企业,输入企业名称即可完成创建。