小编Ald*_*chi的帖子

有效地部署相同WAR的多个实例(不同的上下文,相同的容器)

我有一个WAR(app.war)和一个容器(Tomcat,Jetty,Glassfish,等等).我的目标是在容器上按需部署数百个同一Web应用程序的实例.

http://foo/app1 --> app.war
http://foo/app2 --> app.war
http://foo/app3 --> app.war 
...
http://foo/appN --> app.war
Run Code Online (Sandbox Code Playgroud)

实现这一目标的一些明显方法:

  • 在Tomcat中,为每个应用程序(名为appN.xml)创建一个context.xml文件,所有这些文件都指向同一个WAR.其他容器也有类似的方法
    • 这种方法有问题:它将爆炸WAR N次,占用大量磁盘空间
  • 使用符号链接创建指向app.war爆炸版本的webapp/{app1,app2,appN}文件夹.这可以防止磁盘空间爆炸,但JVM仍然会将许多重复的JAR加载到内存中
  • 使用一些共享的lib文件夹来包含大多数jar(以及前两个选项的组合).

我想知道是否有更好的方法来做到这一点.理想情况下,创建新实例不应占用任何更多磁盘空间(边缘配置文件除外),并且只占用与线程执行堆栈和其他运行时分配相关的内存.

有任何想法吗?

java tomcat jetty glassfish war

11
推荐指数
1
解决办法
7332
查看次数

当node.js出现故障时,如何自动重启?

由于节点基本上是一个单独的进程,当出现严重错误时,整个应用程序就会死掉.

我现在有几个基于express的应用程序,我使用一些手动方法来防止延长停机时间(process.on('uncaughtException')和自定义心跳监视器).

社区的任何建议?最佳做法?构架?

谢谢!一个

node.js

8
推荐指数
1
解决办法
1846
查看次数

家族多态性+ Mixins?

我有一个类型的家庭,我想用mixins模块化"丰富".例如:

trait Family {
  self =>
  trait Dog {
    def dogname:String
    def owner:self.Person
  }
  trait Person {
    def name:String
    def pet:self.Dog
  }
}

trait SerializableFamily extends Family {
  trait Dog extends super.Dog {
    def toSimpleString:String = "Dog(" + dogname + ")"
  }
  trait Person extends super.Person {
    def toSimpleString:String = "Person(" + name + ") and his pet " + pet.toSimpleString
  }
}

trait SerializableFamily2 extends Family {
  trait Dog extends super.Dog {
    def toLoudString:String = "Dog(" + dogname.toUpperCase + …
Run Code Online (Sandbox Code Playgroud)

scala traits mixins

3
推荐指数
1
解决办法
192
查看次数

标签 统计

glassfish ×1

java ×1

jetty ×1

mixins ×1

node.js ×1

scala ×1

tomcat ×1

traits ×1

war ×1