探查Weblogic JDBC Multipool 问题

2023-11-20

问题描述 WebLogic Server MultiPool 有两种不同的类型:高可用性 MultiPool 负载平衡 MultiPool。这两种算法互不相容,分别用于达成不同的目标。本模式提供有关这两种算法的信息。 了解不同类型的 WebLogic Server MultiPool 及相应的限制有助于避免常见故障和找到常见问题的答案。本模式为您提供某些常见问题的相关信息。本模式还概述了为 WebLogic Server 版本 8.1 SP3 / 7.0 SP5 及更高版本中的 MultiPool 实现的增强功能。为便于了解更多详细信息,还提供了我们的文档中相关阅读材料的链接。 故障排除 下面提供有关 WebLogic Server MultiPool 的背景信息,该信息有助于探查有关 MultiPool 的问题和故障: 快速链接:

了解 WebLogic Server MultiPool

本小节提供有关 WebLogic Server MultiPool 及其算法、MultiPool 的数据源定义、限制以及专门针对 MultiPool 的增强功能的背景信息。

WebLogic Server MultiPool 算法

 WebLogic Server MultiPool 由一组有序的 JDBC 连接池组成,可以针对高可用性负载平衡进行配置。请参阅以下文档中对这两种情况的概述:http://e-docs.bea.com/wls/docs81/jdbc/programming.html#1023962 (English)。 在 WebLogic Server 8.1 SP3 / 7.0 SP5 及更高版本中实现了许多增强功能,使 MultiPool 算法的智能水平得到极大提升 - 请查看增强功能,了解比较情况。但对于 WLS 8.1 SP3 / 7.0 SP5 以前的版本,如本文中所述,MultiPool 逻辑的实现非常简明。 返回页首

高可用性算法

针对高可用性配置的 MultiPool 将始终首先尝试其列表中的第一个 JDBC 池。要求 MultiPool 提供连接时,它将始终按为各池定义的顺序(即按各池在 JDBC 连接池列表中的顺序)尝试它们。如果第一个 JDBC 连接池的底层数据库出现故障,MultiPool 将仍然从第一个 JDBC 连接池获取池连接。它将通过发出在 JDBC 连接池定义的属性 TestTableName 中定义的 SQL 语句测试该连接。由于数据库不可用,因此测试将会失败。MultiPool 于是将通过新建与底层数据库的物理连接来尝试刷新该连接。由于数据库仍然有故障,因此该尝试仍将失败。此时,MultiPool 将尝试其有序列表中的下一个 JDBC 连接池。 将对每个特定的连接请求执行所有上述操作。下次为相同 MultiPool 调用 getConnection() 时,将重复执行与上述相同的步骤。所执行的逻辑是,JDBC 连接池的数据库(MultiPool 的一部分)一经恢复正常,就应下一连接请求刷新连接,并立即再次使用该数据库。MultiPool 从不会将池本身标记为有故障,除非管理员将池禁用。

这使管理员能够在底层数据库发生故障时通过禁用 JDBC 连接池来影响 MultiPool 的 Failover 机制,从而避免在第一个池中进行连接测试和重新创建连接的时间开销。可以通过控制台 (http://e-docs.bea.com/wls/docs81/ConsoleHelp/jdbc_connection_pools.html#1115153 (English)) 或使用 weblogic.Admin SUSPEND_POOL 命令 (http://e-docs.bea.com/wls/docs81/admin_ref/cli.html#1296729 (English)) 将池暂停使用。数据库恢复正常后,同样可以通过控制台 (http://e-docs.bea.com/wls/docs81/ConsoleHelp/jdbc_connection_pools.html#1115166 (English)) 或执行 weblogic.Admin RESUME_POOL 命令 (http://e-docs.bea.com/wls/docs81/admin_ref/cli.html#1300251 (English)) 恢复池的使用。 实现了许多针对高可用性算法的增强功能 - 请查阅增强功能返回页首

负载平衡算法

采用负载平衡算法的 MultiPool 以 Round Robin 方式提供其连接,各连接在为其定义的所有 JDBC 连接池之间均匀分布。如果对某个连接的连接测试失败,MultiPool 会尝试从列表中的下一个池中提供连接。以下位置提供了更多详细信息:http://e-docs.bea.com/wls/docs81/jdbc/programming.html#1023962 (English)。 因此,负载平衡既具有在若干个池间分配负载的长处,又能够在其中一个池不可用时提供一定程度的 Failover 能力。不过,如果采用负载平衡算法,将无法控制 MultiPool 响应来自其列表中不同池的连接请求的顺序及其 Failover 的目标池。 MultiPool 的限制

 若要为 MultiPool 启用高可用性算法,需要考虑一些限制和前提条件。http://e-docs.bea.com/wls/docs81/jdbc/programming.html#1068130 (English) 中提供了详细信息。下面是对上述要点的总结:

  • 启用 JDBCConnectionPool 上的 TestConnectionsOnReserve(MultiPool 的一部分),以便 MultiPool 可以检测到连接失败及 Failover 到列表中下一个 JDBC 连接池的必要性。
  • MultiPool 的名称在域配置内必须是唯一的。不应以相同名称命名 JDBC 连接池和 MultiPool,因为那样会导致 Failover 故障。
  • 如果第一个池中的所有连接都处于使用状态,MultiPool 将不会从列表中的下一个池提供连接。只有在 MultiPool 配置中的 JDBC 连接池的数据库发生故障或某个池被暂停使用时,才会提供 Failover。不过,WebLogic Server 8.1 SP3 及更高版本中添加了一个新属性 FailoverRequestIfBusy,可以通过该属性配置 MultiPool,从而实现当某个池中的所有连接都处于使用状态时,从列表中的下一个池中提供连接。WebLogic Server 版本 8.1 SP3 及更高版本中针对 MultiPool 的增强功能中对此有更为详尽的描述。
  • 当某个应用程序从 MultiPool 中得到了一个连接后,在该应用程序使用该连接期间,将不再为该连接执行 Failover。这是因为 MultiPool 在连接测试期间调用 getConnection() 时检测到连接失败。后面阶段出现的数据库故障需要由应用程序处理,其步骤与用于正常 JDBC 连接池的步骤相同。由于数据库崩溃或关闭时会将事务回滚,因此应用程序需要对这种情况进行处理,并重新执行相关工作。
java.sql.SQLException: Pool connect failed : weblogic.common.ResourceException: testMultiPool(myMultiPool): weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool myMultiPool to allocate to applications, please increase the size of the pool and retry.. at weblogic.jdbc.common.internal.JDBCUtil.wrapAndThrowResourceException(JDBCUtil.java:160)

返回页首

 WebLogic Server 版本 8.1 SP3 / 7.0 SP5 及更高版本中针对 MultiPool 的增强功能

 8.1 SP3 / 7.0 SP5 及更高版本中对 MultiPool 的高可用性算法进行了改进,提供了以下附加功能:

  • 当 MultiPool 列表中某个 JDBC 连接池的连接测试和连接重建失败时,将自动禁用该池。如果启用了“connection test on reserve”并为 JDBC 连接池定义了 TestTableName,就可以在不对配置做任何附加更改的情况下启用此功能。
  • 被禁用池的数据库重新恢复正常时自动进行测试,并再次启用 JDBC 连接池。若要启用此功能,请设置属性 HealthCheckFrequencySeconds
  • 当某个池中的所有连接都处于使用状态时 Failover 到列表中的下一个池。若要启用此功能,请将属性 FailoverRequestIfBusy 设置为 true。
  • 使通过注册回调处理程序控制向另一个池的 Failover 及在执行 Failover 前实现初始化和配置任务成为可能。若要启用此功能,回调处理程序需要实现 weblogic.jdbc.extensions.ConnectionPoolFailoverCallback 接口。需要使用属性 ConnectionPoolFailoverCallbackHandler 指定实现类。
  • 使通过注册回调处理程序控制对被禁用池的启用及在启用前实现初始化和配置任务成为可能。此功能将由上述 Failover 控制中提及的回调处理程序来执行。
以下位置对上述新功能做了详细描述:http://e-docs.bea.com/wls/docs81/jdbc/programming.html#1023962 (English)。以下是要在 MultiPool 上设置的相关属性(一览表):

<JDBCMultiPool AlgorithmType="High-Availability" Name="demoMultiPool" PoolList="demoPool2,demoPool"HealthCheckFrequencySeconds="240"

ConnectionPoolFailoverCallbackHandler="com.bea.samples.wls.jdbc.

MultiPoolFailoverCallbackApplication"Targets="examplesServer" />

返回页首

常见故障、常见问题及其解决办法

本小节包含有关 MultiPool 的一些常见问题和解答。

 WebLogic Server MultiPool 和 Oracle RAC/TAF 哪一个更适合我? MultiPool 和 Oracle RAC/TAF 所能提供的 Failover 能力的级别不同。依赖于 Oracle RAC/TAF 的配置,可以将一个数据库中使用的部分对象 Failover 到 Failover 节点。有关详细信息,请查阅 Oracle 站点上有关 RAC / TAF 的相关文档及 Oracle RAC (Real Application Clusters) 配置和测试模式。 RAC/TAF 是由 Oracle 提供的附加功能,需要另外付费。BEA 的 MultiPool(针对高可用性配置)是 WebLogic Server 分发的一部分,其费用已包括在内。它提供建立 JDBC 连接池列表的功能,并尝试为连接池提供连接。如果一个数据库发生故障,它会尝试列表中的下一个池。它无法将故障数据库中的任何对象 Failover 到 Failover 实例。 使用某个方案而不使用另一个方案要视所需的 Failover 透明度级别和可以承受的资金开销而定。如果从池中得到连接时数据库已发生故障,MultiPool 功能对应用程序就是透明的。之后就不是透明的了。如果连接正由某个应用程序使用,则该应用程序需要处理回滚和 Failover(及重新执行工作)。

 高可用性算法如何决定使用 MultiPool 列表中哪个连接池中的连接?

 MultiPool 将始终按为其定义的 JDBC 连接池顺序尝试从连接池提供连接。这意味着对于每个连接请求,MultiPool 都将先尝试从第一个池提供连接,如果失败,则会尝试第二个池,如果仍然失败,则会尝试第三个池,依此类推。由于 MultiPool 本身从来不会将池标记为故障或不可用,因此对于下一个连接请求,MultiPool 仍会尝试按前述方式提供连接。在 WebLogic Server 版本 8.1 SP3 / 7.0 SP5 及更高版本中,对这一点做了改进,即如果对列表中其中一个池的连接请求失败,便将该池标记为故障。有关详细信息,请查阅增强功能

如果数据库关闭,MultiPool 配置中的 JDBC 连接池会出现什么情况?

从池得到连接时,MultiPool 将通过连接测试来检测数据库是否有故障。换言之,MultiPool 并不能检测到 JDBC 连接池的数据库是否有故障,而是通过某个 getConnection() 调用尝试测试和(在必要时)刷新连接,如果失败,将从列表中的下一个池中提供连接。在 WebLogic Server 版本 8.1 SP3 / 7.0 SP5 及更高版本中,对这一点做了改进,即如果对列表中其中一个池的连接请求失败,将暂时禁用该池,并按固定时间间隔执行检查,了解数据库是否恢复了使用。有关详细信息,请查阅增强功能

 如何禁用第一个(或任何)JDBC 连接池以使 Multipool 直接转到列表中的下一个池?

可以通过控制台暂时禁用 JDBC 连接池,以下位置有对该操作的描述:http://e-docs.bea.com/wls/docs81/ConsoleHelp/jdbc_connection_pools.html#1115153 (English);也可以通过对该池执行 weblogic.Admin SUSPEND_POOL 命令暂时禁用 JDBC 连接池,以下位置有对该操作的描述:http://e-docs.bea.com/wls/docs81/admin_ref/cli.html#1296729 (English)。对于较早版本的 WebLogic Server,通过 weblogic.Admin 暂时禁用池的命令是 DISABLE_POOL

如何在底层数据库恢复正常后恢复使用(MultiPool 中的)JDBC 连接池?

可以类似方式通过控制台重新启用 JDBC 连接池,以下位置有对该操作的描述:http://e-docs.bea.com/wls/docs81/ConsoleHelp/jdbc_connection_pools.html#1115166 (English);也可以通过执行 weblogic.Admin RESUME_POOL 命令重新启用 JDBC 连接池,以下位置有对该操作的描述:http://e-docs.bea.com/wls/docs81/admin_ref/cli.html#1300251 (English)。在较早的 WLS 版本 6.1 和 7.0 中,该命令的名称是 ENABLE_POOL

 如何启用因底层数据库故障而被禁用的 JDBC 连接池?

请在上文中查阅对此问题的解答。

通过拔出网络电缆测试 Failover 情况时,向第二个池的 Failover 为何会花费如此长的时间?

WebLogic Server MultiPool 依赖对数据库连接进行测试和刷新(重建)来确定何时 Failover 到列表中的下一个池。这意味着它要依赖底层 JDBC 驱动程序和网络才能从连接测试和创建即时返回。不过,几乎在所有情况下拔出网络电缆都会导致 Failover 的时间非常长,因为套接字可能要过一段时间(最长可达几分钟)后才真正能够将错误状况返回给调用方。 更有效也更现实的 Failover 情况测试方法是干脆关闭数据库或相应的监听器或数据库计算机本身。在上述情况下,Failover 时间要短得多。 还可以通过这种方法检查当拔出网络电缆时,哪种类型的驱动程序(2 类还是 4 类驱动程序)从连接测试返回的速度更快。 返回页首

WebLogic Server 文档中有关 MultiPool 的常见问题解答

 问题:应在何时使用 MultiPool?解答:http://e-docs.bea.com/wls/docs81/faq/jdbc.html#498177 (English) 问题:群集中是否支持 MultiPool?解答:http://e-docs.bea.com/wls/docs81/faq/jdbc.html#500584 (English)。
相关阅读材料

 如何配置 WebLogic Server MultiPool:http://e-docs.bea.com/wls/docs81/ConsoleHelp/jdbc_multipools.html#1105912 (English)。如何在 WebLogic Server 和 WebLogic Server 群集中配置和部署 JDBC 组件:http://e-docs.bea.com/wls/docs81/ConsoleHelp/jdbc_multipools.html#1105912 (English)。 Oracle RAC (Real Application Clusters) 配置和测试模式 中提供了有关 Oracle RAC 的附加信息。

已知问题

您可以定期查看所用 WLS 版本的“Release Notes”,了解 Service Pack 中的“Known Issues”或“Resolved Issues”的详细信息及浏览与 JDBC MultiPool 有关的问题。方便起见,下面提供了这些发行说明的链接:

对于需要特别注意之处,请参阅以下 CR,在相应版本 Service Pack 的发行说明中注明了已有针对它们的解决方法:
  • CR174575 / CR175701 - JDBC Multipool 因数组下标增量方式不安全所致的重负载而失败,并抛出 IndexOutOfBoundsException。为解决此问题,已在 WLS 8.1 SP3 (English) 中做了改动。
  • CR182879 - 当 MultiPool 和 ConnectionPool 同名且 DataSource/TxDataSource 以该名称为目标时,WebLogic Server 在启动过程中未抛出错误。为解决此问题,已在 WLS 8.1 SP4 中做了改动。  
使用搜索功能也可以搜索到“Release Notes”,还可以搜索到其它支持解决办法及与 CR 有关的信息,如需要更多帮助?中所提到的内容。如果客户签订了技术支持合同,则可以登录 http://support.bea.com/,登录后会看到为 Solutions 和 Bug Central 提供的 Browse portlet,可在其中按产品版本浏览最新提供的 CR。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

探查Weblogic JDBC Multipool 问题 的相关文章

  • Eclipse 在源代码管理中保存操作

    我们希望找到一种在签入之前执行代码标准的 轻量级 方法 我们真的很喜欢使用 Eclipse 内置的想法保存操作 go to Preferences gt gt Java gt gt Editor gt gt Save Actions 其中有
  • 如何创建一个显示 Spinners 的 x 和 y 值的表格?

    我想创建一个位于图表右侧的表格 其中显示 2 列 x 和 y 值已输入到xSpin and ySpin旋转器 我已经画了一张我想要桌子放置的位置的图 我尝试过在网格窗格布局中使用文本框来创建表格并将值直接输入到文本框网格中 但是我无法将它们
  • Java:迭代 Collection 的最佳方法(此处为 ArrayList)

    今天 当我看到一段我已经使用了数百次的代码时 我很高兴地开始编码 迭代集合 此处为 ArrayList 出于某种原因 我实际上查看了 Eclipse 的自动完成选项 这让我想知道 在什么情况下以下循环比其他循环更好使用 经典的数组索引循环
  • OpenCV 中的 Gabor 内核参数

    我必须在我的应用程序中使用 Gabor 过滤器 但我不知道这个 OpenCV 方法参数值 我想对虹膜进行编码 启动 Gabor 过滤器并获取特征 我想对 12 组 Gabor 参数值执行此操作 然后我想计算 Hamming Dystans
  • OSGi:如果不取消服务会发生什么

    这是我获取 OSGi 服务的方式 ServiceReference reference bundleContext getServiceReference Foo class getName Foo foo Foo bundleContex
  • Java AES 128 加密方式与 openssl 不同

    我们遇到了一种奇怪的情况 即我们在 Java 中使用的加密方法会向 openssl 生成不同的输出 尽管它们在配置上看起来相同 使用相同的键和 IV 文本 敏捷的棕色狐狸跳过了懒狗 加密为 Base64 字符串 openssl A8cMRI
  • 按第一列排序二维数组,然后按第二列排序

    int arrs 1 100 11 22 1 11 2 12 Arrays sort arrs a b gt a 0 b 0 上面的数组已排序为 1 100 1 11 2 12 11 22 我希望它们按以下方式排序a 0 b 0 首先 如果
  • 我需要什么库才能在 Java 中访问这个 com.sun.image.codec.jpeg?

    我正在用java创建一个图像水印程序 并导入了以下内容 import com sun image codec jpeg JPEGCodec import com sun image codec jpeg JPEGEncodeParam im
  • 如何模拟从抽象类继承的受保护子类方法?

    如何使用 Mockito 或 PowerMock 模拟由子类实现但从抽象超类继承的受保护方法 换句话说 我想在模拟 doSomethingElse 的同时测试 doSomething 方法 抽象超类 public abstract clas
  • 很好地处理数据库约束错误

    再一次 它应该很简单 我的任务是在我们的应用程序的域对象中放置一个具有唯一约束的特定字段 这本身并不是一个很大的挑战 我刚刚做了以下事情 public class Location more fields Column unique tru
  • 在游戏视图下添加 admob

    我一直试图将 admob 放在我的游戏视图下 这是我的代码 public class HoodStarGame extends AndroidApplication Override public void onCreate Bundle
  • 如何在selenium服务器上提供自定义功能?

    我知道可以通过某种方法获得一些硒功能 其中之一如下 driver getCapabilities getBrowserName 它返回浏览器名称的值 但如果它指的是一个可用的方法 如果我没有误解的话 这似乎与自定义功能有关 就像我的意思是
  • Javafx过滤表视图

    我正在尝试使用文本字段来过滤表视图 我想要一个文本字段 txtSearch 来搜索 nhs 号码 名字 姓氏 和 分类类别 我尝试过在线实施各种解决方案 但没有运气 我对这一切仍然很陌生 所以如果问得不好 我深表歉意 任何帮助将不胜感激 我
  • IntelliJ - 调试模式 - 在程序内存中搜索文本

    我正在与无证的第三方库合作 我知道有一定的String存储在库深处的某个字段中的某处 我可以预测的动态值 但我想从库的 API 中获取它 有没有一种方法可以通过以下方式进行搜索 类似于全文搜索 full程序内存处于调试模式并在某个断点处停止
  • Struts 2 + Sitemesh 3 集成 - FreemarkerDecoratorServlet 中的 NPE

    我将 Struts 2 版本 2 3 14 3 与 Sitemesh 3 版本 3 0 alpha 2 一起使用 并且在某些情况下遇到 NullPointerException 首先 这是我的 web xml 中的 struts2 site
  • 如何在JSTL中调​​用java方法? [复制]

    这个问题在这里已经有答案了 这可能是重复的问题 我只想调用不是 getter 或 setter 方法的方法例如 xyz 类的 makeCall someObj stringvalue Java类 Class XYZ public Strin
  • 替换后增量

    我自己已经有一个问题了 但我想扩展它后增量示例 https stackoverflow com questions 51308967 post increment with example char a D int b 5 System o
  • 将 Azure AD 高级自定义角色与 Spring Security 结合使用以进行基于角色的访问

    我创建了一个演示 Spring Boot 应用程序 我想在其中使用 AD 身份验证和授权 并使用 AD 和 Spring Security 查看 Azure 文档 我执行了以下操作 package com myapp contactdb c
  • FileOutputStream.close() 中的设备 ioctl 不合适

    我有一些代码可以使用以下命令将一些首选项保存到文件中FileOutputStream 这是我已经写了一千遍的标准代码 FileOutputStream out new FileOutputStream file try BufferedOu
  • 带有 Maven Wrapper 的 Java 17 导致无法识别的 VM 选项“MaxPermSize=512m”

    I use OpenJDK 17 https jdk java net 17 使用 Maven Wrapper 3 8 2 从春季初始化 https start spring io Maven项目 JAR打包 Java 17 Spring

随机推荐

  • 机器学习---监督学习、无监督学习

    机器学习 什么是机器学习 两种主要类型是 监督学习和无监督学习 强化学习 监督学习 什么是监督学习 回归问题 预测连续值输出 eg 预测房价 分类问题 预测离散值输出 eg 预测肿瘤 监督学习 给算法一个数据集 其中包含了正确答案 输入x
  • Android项目中三种依赖的添加方式

    添加本地依赖 首先将所需的 jar 或者 aar 包放在libs文件夹下 方式1 右击jar包 选择Add As Library 最后sync 方式2 在app build gradle中添加本地依赖的声明 implementation f
  • MCU 常用的文件系统

    片外FLASH SPIFFS FATFS LittleFs 片上FLASH FlashDB EasyFlash
  • python3爬虫伪装代理IP

    在爬取类似 起点 色魔张大妈 这样的网站时 会被网站看出是爬虫机制 这时需要伪装成浏览器以及使用IP代理的方式来爬去正常内容 实例 import re import requests import urllib request from l
  • shopify上传主题

    shopify theme 多语言国际化开发 shopify theme 跨境电商开发 liquid 本地编辑shopify主题的方式一 shopify cli 的命令
  • 从《模仿游戏》认识图灵

    模仿游戏 剧情简介 模仿游戏这部电影主要讲述了在二战期间 英国为了破解德军的加密系统Enigma密码机招募了一批有才华的破译者来执行此项国家最高机密任务 艾伦 图灵就是其中之一 然而图灵孤僻的性格让他与别的同事不能融洽相处 图灵一意孤行要建
  • 计算机怎么解除c盘用户权限,电脑c盘文件夹拒绝访问怎么办 删除c盘文件如何获得管理员权限...

    c盘是我们系统文件存储的关键位置 当我们想要查看c盘的时候 出现拒绝访问的情况怎么解决呢 其实很简单 下面小编为大家带来打开c盘文件夹拒绝访问的详细解决方法 大家可以直接按照下面的步骤即可解决 电脑c盘文件夹拒绝访问怎么办 1 通常情况下
  • JVM监控工具和方法

    在JVM运行的过程中 为保证其稳定 高效 或在出现GC问题时分析问题原因 我们需要对GC进行监控 所谓监控 其实就是分析清楚当前GC的情况 其目的是鉴别JVM是否在高效的进行垃圾回收 以及有没有必要进行调优 通过监控GC 我们可以搞清楚很多
  • 代码点(code point)和代码单元(code units)

    1 解释一 char Java中 char类型为16个二进制位 原本用于表示一个字符 但后来发现 16位已经不够表示所有的字符 所以后来发展出了代码点表示字符的方法 代码点 code point 是指编码字符集中 字符所对应的数字 有效范围
  • 题目94:时间函数,一个猜数游戏,判断一个人反应快慢。

    import time import random play input 请问你想玩1 100猜字游戏吗 yes no n while play yes number random randint 1 100 guess int input
  • 148.排序链表(java)

    148 排序链表 题目描述 在 O n log n 时间复杂度和常数级空间复杂度下 对链表进行排序 示例 1 输入 4 gt 2 gt 1 gt 3 输出 1 gt 2 gt 3 gt 4 示例 2 输入 1 gt 5 gt 3 gt 4
  • oracle数据库 data not found的问题

    工作中写pkg的时候 遇到了这个问题 原因是在 select into的时候 可能会出现查出来是空值的情况 这个时候就会报错 解决方法是用count 先判断有没有数据 再根据有没有数据来决定要不要进行查询并赋值
  • LeetCode 面试16.18 模式匹配

    你有两个字符串 即pattern和value pattern字符串由字母 a 和 b 组成 用于描述字符串中的模式 例如 字符串 catcatgocatgo 匹配模式 aabab 其中 cat 是 a go 是 b 该字符串也匹配像 a a
  • Vue项目分包打包配置(包含dev)全过程

    今天领导要求支援某项目的分包配置 emmm 在参考了公司其他项目的分包操作后 依葫芦画瓢 中间也踩了好几个坑 简单记录下过程 一 拉代码 安装依赖 哈哈哈 上来就踩坑了 我拉了代码后 直接哐哐整 然后一堆依赖报错 我才发现 同事新增了依赖包
  • yyyy-MM-dd‘T‘HH:mm:ssZ的T是什么意思?为什么要用单引号引着

    背景 Java里的日期格式 通常我们看到 yyyy MM dd T HH mm ssZ 的写法是什么意思 尤其这个T作为分隔符为什么左右有单引号 这个单引号会打印出来吗 这个Z又是什么意思 是时区吗 如果是时区 输出的格式是什么 是类似于这
  • java上传图片、文件和富文本内容到服务器上,查看和删除文件

    1 上传富文本内容 前端的富文本内容传到后端 将富文本内容拼接成html页面代码 将内容转换成html文件上传到服务器指定位置进行存储 String profile data xiangmu linux服务器上项目文档存放目录 String
  • python导入excel模块_Python利用Psycopg2模块将Excel表格数据导入Postgressql

    import os import numpy as np import pandas as pd import xlrd import psycopg2 import redis conn redis Redis host localhos
  • python利用bs4获取网络小说

    所选定的小说网址 https www shicimingju com book xiyouji html 如果想更换其他小说资源 在上一级网址就行 https www shicimingju com book 代码如下 from bs4 i
  • jeecgboot问题解决方案

    常见问题Q A JEECG老版在线文档 点击进入 1 后台访问提示token错误 报错截图 解决方案 JeecgBoot后台的所有请求访问 增加了token机制 所以不能直接访问后台 而需要通过前台登录才能访问 默认前台访问地址 http
  • 探查Weblogic JDBC Multipool 问题

    问题描述 WebLogic Server MultiPool 有两种不同的类型 高可用性 MultiPool 和负载平衡 MultiPool 这两种算法互不相容 分别用于达成不同的目标 本模式提供有关这两种算法的信息 了解不同类型的 Web