我试图了解JBoss AS与独立架构相比可以为项目带来什么?
我的模型应用程序是一个可靠的东西,作为一个整体启动,运行和停止,仅在主机上。 它有一个数据库存储,并与用户和其他服务器通信,需要集群。 它有网络部分。它只是一个标准的大型应用程序。
JBoss对我来说是(一般)多个应用程序的shell,为我的应用程序提供一些标准服务。这个shell也是一个坚实的东西 - “全部或全部”,可以打开/关闭(不可预测地影响你的应用程序,或影响JBoss的其他部分)或替换(非常努力,已经是一种黑客)与不同版本或其他模块。
对我来说,独立应用程序是由IoC布线组合在一起的部件之间的粘合剂(如果您愿意,可以是Spring)。我们可以用JBoss获得我们可以拥有的一切,但是可以单独使用。弹簧或其他胶水在这里像应用服务器一样,但它更薄,我们仍然可以更换零件甚至是Spring本身(从编码的角度来看,IoC接线很简单)。
对我来说,独立的,无AS的方法提供了更多的控制和灵活性。而且,JBoss AS的最新版本是纯文档记录的,有些功能(最感兴趣的)根本没有记录。
那么,为什么还有人选择JBoss - 有什么好处?
我更喜欢更独立的应用程序方法,但需要更多的事实来更好地理解并说服其他人。
答案 0 :(得分:2)
在我看来,你所描述的是最佳(收集所有部件并将它们粘合在一起)与集成堆栈之间的经典选择(JBoss编写了所有部件并为您集成它们)。这是一场永恒的争论。如果最好的是适合你,那么坚持下去。
JBoss是一个J2EE容器。如果您不熟悉它,请查看J2EE规范。基本上,Sun的社区流程提出了一个开发框架,其中包含您在创建大型应用程序时可能感兴趣的组件。 J2EE包含多个子规范,例如Servlet,EJB,JTA,JMS以及许多其他字母表汤技术。如果您不使用任何这些技术,那么您不需要J2EE容器。如果您只对使用Servlet和JSP感兴趣,那么最好使用一个servlet容器,如Tomcat,Jetty,Resin等。
提供诸如可伸缩性,事务支持,联合用户管理等企业功能是困难的。 J2EE容器提供这些功能的标准级别。如果你能在其他地方找到满足你满意度的水平,那么就有更大的力量。
答案 1 :(得分:1)
您也可以选择是否在JBoss中运行。如果您对JBoss服务感到满意,如果您不喜欢JBoss为您提供的服务,可以使用它们或部署其他服务。
从JBoss最小配置开始并构建您自己的配置应该为您提供一个不需要运行服务的设置。就个人而言,我想知道我的AS在运行什么,所以我更喜欢从最小配置开始,只添加必要的部分。
答案 2 :(得分:0)
我想说使用JBoss的唯一原因是你需要访问Java EE服务(如Messaging,容器管理的事务等)。
请记住JBoss(粗略描述)Tomcat和Java EE服务(是的,是的,我知道,这是一种非常简化的方法,只需耐心等待我)。我提到这个,因为我会说你的决定是:
请记住,您始终可以从基本系统(Spring + Tomcat)开始,如果以后需要,请转到JBoss。没有什么可以禁止的。并且可能从这种方法开始将向您展示您是否真的需要Java EE服务,或者您是否过度设计了解决方案。