当前位置: 首页 > 面试题库 >

非托管线程Spring Quartz Websphere Hibernate

宋臻
2023-03-14
问题内容

看来我们使用Quartz-JDBCJobStore以及Spring,Hibernate和Websphere的实现抛出了非托管线程。

我读了一些书,发现IBM的一篇技术文章指出将Quartz与Spring结合使用会导致这种情况。他们提出使用CommnonJ解决此问题的建议。

我进行了一些进一步的研究,到目前为止,我所看到的唯一示例都处理了不在数据库中的旧JobStore计划。

因此,我想知道是否有人有解决此问题的示例。

谢谢


问题答案:

我们有一个可行的解决方案(实际上有两个)。

1)更改石英源代码,以将WorkManager守护程序线程用于主调度程序线程。它可以工作,但需要更换夸脱。不过我们没有使用它,因为我们不想维护被黑的石英版本。(这使我想起了,我打算将其提交给项目,但完全忘记了)

2)创建一个WorkManagerThreadPool用作石英线程池。实现石英ThreadPool的接口,以便在石英中触发的每个任务都包装在commonj
Work对象中,然后将在WorkManager中调度该对象。关键是必须在启动调度程序之前从Java
EE线程(例如Servlet初始化)初始化WorkManagerThreadPool中的WorkManager。然后,WorkManagerThreadPool必须创建一个守护程序线程,该线程将通过创建和调度新的Work对象来处理所有调度的任务。这样,调度程序(在其自己的线程上)将任务传递到托管线程(工作守护程序)。

不简单,不幸的是,我没有包含的代码。



 类似资料:
  • 本文向大家介绍详解C# 托管资源和非托管资源,包括了详解C# 托管资源和非托管资源的使用技巧和注意事项,需要的朋友参考一下 托管资源指的是.NET可以自动进行回收的资源,主要是指托管堆上分配的内存资源。托管资源的回收工作是不需要人工干预的,有.NET运行库在合适调用垃圾回收器进行回收。 非托管资源指的是.NET不知道如何回收的资源,最常见的一类非托管资源是包装操作系统资源的对象,例如文件,窗口,网

  • 本文向大家介绍.NET中托管和非托管代码之间的区别,包括了.NET中托管和非托管代码之间的区别的使用技巧和注意事项,需要的朋友参考一下 .NET Framework具有CLR(公共语言运行时),可以执行用.NET语言编写的代码。CLR管理内存需求,安全性,代码优化,特定于平台的转换等。在非托管代码的情况下,不存在CLR,并且代码由操作系统直接执行。 以下是托管代码和非托管代码之间的一些重要区别。

  • 我创建了一个简单的SpringBoot应用程序。有两类: 1) ManagedBean类 2) NonmangedBean:它具有ManagedBean类的依赖项 还有第三个服务类,它有Rest结束点。 首先,我调用 /processBeanendpoint,将具体对象的NonmangedBean类和自动连接它。(在这里,我知道bean将生活在Spring Container中,直到我关闭服务器。

  • 当我运行我的应用程序时,我收到一个错误。 应用程序结构 结构 pom.xml RestartApplication.java MvcConfig WebSecurityConfig 身份验证控制器(显示欢迎页面) 博客控制器 主控制器 注册控制器 邮政 角色 用户 后存储库 用户报告 我试图使用@EnableJpaRepositories和@EntityScan修复它,但这无济于事。在我的MySQ

  • 是否可以在使用关键字创建的类中获取CDIBean的实例?我们目前正在对一个旧的应用程序进行一些增强,每次我们在应用程序中对CDI单例bean进行编程查找时,都会得到一个ContextNotActiveException。 获取参考的代码: BeanManager支持。JAVA

  • 我用的是Spring Boot和JPA。就在这里 我有一个类似的域。而且注释似乎不建议使用,所以我使用代替。 我的类如下所示 类看起来像这样 使用这个类的看起来像这样 但当我开始应用程序我得到这个错误: 到底是什么问题?