假设我在Clojure中使用ZeroMQ和BSON作为协议开发了两个或更多不同的服务器应用程序。我怎样才能使用单个JVM实例部署它们,同时还共享公共依赖关系?在单个JVM实例中部署Clojure应用程序
对每个独立应用程序使用JVM实例似乎浪费了内存。我计划在将来开发几个Clojure应用程序,而VPS内存并不便宜。
虽然没有明确地说,在应用服务器(码头,Glassfish的)运行的应用程序似乎同时隔离他们的状态共享同一个JVM。但是,它们需要一个容器,Servlet或Enterprise JavaBeans都没有可以轻松适应我的自定义协议的实现。
我一直在思考如何使用Servlet和实施虚拟service()方法,虽然我不喜欢无谓的HTTP服务器开销的想法。至于EJB容器,我甚至不知道它的实现。
如果只有一个容器需要init()和destroy()方法,但我找不到提供它的应用程序服务器,那就太好了。
也许有办法解决,或者我甚至不需要应用程序服务器。有人能指出我正确的方向吗?
你甚至不用去Karaf,已经有很多的功能,大多数人并不需要。任何OSGi框架(Apache Felix,Equinox)都可以用于这些应用程序。非常轻量级的启动和使用。 –
无需在应用程序内部实现任何接口(Servlet,EJB)?我是否可以将任何JAR文件(具有适当的DD)加载到任何OSGi应用程序服务器中? – adeandrade