我正在计划一个应用程序,它必须为第三方扩展代码提供非常类似于 Java EE 容器的服务。基本上,这个应用程序所做的是找到一组工作项(目前,计划是使用 Hibernate)并将它们分派给工作项消费者。
工作项消费者加载项详细信息,调用第三方扩展代码,然后如果第三方代码没有失败,则更新工作项的某些状态并提交所有已完成的工作。
我明确没有将其编写为 Java EE 应用程序。但是,本质上,我的应用程序必须提供容器的许多服务;它必须提供事务管理、连接池和管理,以及一定的部署支持。我如何 A) 直接提供这些,或 B) 选择第三方库来提供它们。由于较大项目的要求,扩展编写者将使用 Hibernate,如果这有什么不同的话。
值得注意的是,在我提到的所有功能中,我最不了解的是事务管理。如何为在我的容器中运行的扩展代码提供此服务?