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

陷阱Spring上下文关闭错误

子车鸿运
2023-03-14

我有一个使用spring hadoop的spring集成项目。我有一个Hbase模板,如下所示,

<beans:bean id="fsh" class="org.springframework.data.hadoop.fs.FsShell">
</beans:bean>

<beans:bean id="hbaseTemplate"  
   class="org.springframework.data.hadoop.hbase.HbaseTemplate">
    <beans:property name="configuration" ref="hdpConfiguration" />
</beans:bean>

现在,当我最后关闭应用程序和上下文时,它会抛出一个奇怪的错误,

o、 a.h.hbase。客户HConnectionManager:在列表中找不到连接,无法删除它(连接键=HConnectionKey{properties={hbase.zookeer.quorum=xxx.com,xxx.com,hbase.rpc.timeout=60000,hbase.client.prefetch.limit=10,hbase.zookeer.property.clientPort=2181,zookeer.znode.parent=/hbase secure,hbase.client.retries.number=35,hbase.client.pause=100},username=xyz@PQR.COM'}). 可能是钥匙被修改了?

据我所知,这是一个无害的错误,甚至在Hadoop 1中也出现过。x

我已经迁移到Hadoop 2。x和Spring-Hadoop-2.0.4但是现在,Spring抛出了一个之前没有抛出的异常,

--- [ 异常: --- [ HConnectionM --- [ 连接(HConnectionMegistry.destroy)在egistry.java:523HConnectionMorg.springframework.beans.factory.support.连接(HConnectionMactory.destroy)在actory.java:914HbaseConfigurationFactoryBorg.springframework.context.support.(HbaseConfigurationFactoryBontext.destroy)在ontext.java:908DisposableBeanAorg.springframework.context.support.(DisposableBeanAdapter.java:258)在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:578)在org.springframework.beans.factory.support.DefaultSingletonRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:554)在org.springframework.beans.factory.support.DefaultListableBeanFjava.lang.Singleton(DefaultListableBeanForg.apache.hadoop.hbase.client.)在anager.deleteDefaultSingletonBeanRanager.java:488Singletons(DefaultSingletonBeanRorg.apache.hadoop.hbase.client.)在anager.deleteDefaultListableBeanFanager.java:424Singletons(DefaultListableBeanForg.springframework.data.hadoop.hbase.)在ean.destroyAbstractApplicationCean.java:80Beans(AbstractApplication ationCorg.springframework.beans.factory.support.)在dapter.destroyAbstractationApplicationLocalContainerEntityManagerFactoryBean:为持久性单元“默认”关闭JPA EntityManagerFactory

问题,我如何捕捉这个错误,使它不会显示给用户。。。

感谢您的任何见解。

共有1个答案

单于轶
2023-03-14

我能够解决错误,只需将delete-connect设置为false,(默认为“true”)

<hbase-configuration configration-ref="hdpConfiguration" delete-connection="false"/>
 类似资料:
  • while (<STDIN>) 一定要小心这点。如果你不知怎么回事地得到了假值(如:空行),你的文件可能 停止处理了。假如你在处理文件读取(除非修改了 $/),这种事一般不会发生, 但却可能发生。 你更喜欢这样运行: while (readdir(DIR)) { 假设你有文件名为 0 的话,那么程序将停止,且不会继续处理文件。 更合适的 while 循环看起来像这样: while ( defin

  • 我有一个使用子/父上下文关系的Spring应用程序。这样做的原因是为了确保子上下文从父上下文继承bean/资源,然后根据需要添加更多bean/资源来覆盖它们。但是,当子上下文关闭时(退出try/catch作用域),它开始对它引用的所有bean进行清理,包括父作用域中的bean。这是不可取的,因为我需要重用父上下文来创建另一个子上下文,但是现在它是垃圾,因为它包含了一堆已处理/关闭的bean。 问题

  • 翻译自:https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/ 警告: 请阅读下面所有的内容!是所有的! 不管是新手还是老用户,都可能会掉到一个陷阱中去。下面我们会列出一些我们经常看到,和 经常需要解释如何解决的问题。在 Freenode 的 Nginx IRC 频道中,我们频繁的看到这些问题出现。

  • 通常,Python 旨在成为一门简洁一致的语言,避免发生意外。然而,有些情况可能会给新手们造成困惑。 在这些情况中,有一些虽是有意为之,但还是有潜在风险。还有一些则可以说是语言设计缺陷了。总之,下面列出的这些情况都是些乍一看很不好理解的行为,不过一旦您了解了这些奇怪行为背后的机理,也就基本上能理解了。 可变默认参数 似乎每个 Python 新手都会感到惊讶的一点是 Python 在函数定义中对待可

  • 在之前的内容中,有时候使用!!...!!标记警告go语言中的一些错误使用方式。当你在编程时候遇到的一个困难,可以确定本书特定的章节能找到类似的主题。为了方便起见,这里列出了一些常见陷进,以便于你能发现更多的解释和例子: 永远不要使用形如 var p*a 声明变量,这会混淆指针声明和乘法运算(参考4.9小节) 永远不要在for循环自身中改变计数器变量(参考5.4小节) 永远不要在for-range循

  • 发生错误并不一定是脚本退出的唯一方式。你也应该考虑信号。考虑以下程序: #!/bin/bash echo "this script will endlessly loop until you stop it" while true; do : # Do nothing done 该程序一运行就进入了死循环,除非收到信号来终止它。你可以通过按下 Ctrl-c 键来发送 SIGINT(SIGna