jboss 发布web

最近,我读到了为什么没有标准来开发真正的模块化Web应用程序? 由Patroklos Papapetrou撰写( 在Java Code Geeks中也有介绍 )。 受本文的启发,我决定检查实际使用的JBoss模块 。 这篇文章逐步描述了我的实验。

我首先想到了以下目标–使用我自己的JBoss模块定义的某些服务来创建Web应用程序。 我准备的服务非常简单。 我将其命名为Echo Service:

package warlock.echo;public interface EchoService {String echo(String param);}

并放入另一个名为echo-api的jar文件中。 然后,我实现了该服务:

package warlock.echo.impl;import warlock.echo.EchoService;public class DefaultEchoService implements EchoService {public String echo(String param) {return param;}}

并将实现放在新的jar文件中,该文件名为echo-module。 考虑到我的Web应用程序应该只了解服务API,而不是特定的实现,因此,我决定采用使用Java平台创建可扩展应用程序中介绍的方法-该选择需要添加到下面的echo模块jar特殊文件中:META-INF / services / warlock.echo.EchoService,持有服务实现的“指针”(实现类的完全限定名称)。

此时,我检索并解压缩了JBoss Application Server 7 ,进入解压缩的JBoss,然后进入modules目录。 在此目录中,我添加了以下结构:

上面提到了这里可见的两个jar文件,module.xml文件是我的JBoss Module的定义–名为'warlock.echo',具有以下内容:

<?xml version="1.0" encoding="UTF-8"?><module xmlns="urn:jboss:module:1.0" name="warlock.echo"><resources><resource-root path="echo-module-1.0.0-SNAPSHOT.jar" /><resource-root path="echo-api-1.0.0-SNAPSHOT.jar" /></resources></module>

完成JBoss Module定义后,我准备了一个简单的基于Spring Framework的应用程序(仅在项目编译期间使用echo-api jar,而根本不使用echo-module jar),仅使用一个Controller:

package warlock;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;import warlock.echo.EchoService;@Controller
@RequestMapping("/echo.html")
public class EchoController {@Autowiredprivate EchoService service;@RequestMapping(method = RequestMethod.GET)@ResponseBodypublic String handleGet() {return service.echo("It workzzzzz!");}
}

如您所见,Controller将某些字符串的Echo Service调用结果作为响应主体返回。 现在到最重要的部分– Web应用程序中的Echo服务定义:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">...<bean class="org.springframework.beans.factory.serviceloader.ServiceFactoryBean"><property name="serviceType" value="warlock.echo.EchoService" /></bean>...</beans>

我知道,有一件事困扰着您:) –如果我们不向Web应用程序添加echo-api和echo-module jar,那么如何找到Echo Service实现呢?

好吧,这就是美丽;)–我们只需要再做一件事– WEB-INF / jboss-deployment-structure.xml文件:

<jboss-deployment-structure><deployment><dependencies><module name="warlock.echo" services="export" /></dependencies></deployment>
</jboss-deployment-structure>

这样,我们告诉JBoss,此应用程序取决于'warlock.echo'模块和此模块中定义的服务。 其余的就是纯JBoss Module魔术;)

甜点讲座:

  • 带有JBoss模块的模块化Java
  • JBoss模块示例

参考: “ Warlock的想法”博客中的 JCG合作伙伴 Warlock的基于JBoss Modules的模块化Web应用程序 。

相关文章 :

  • OSGi将Maven与Equinox结合使用
  • 真正的模块化Web应用程序:为什么没有开发标准?
  • Java Code Geeks Andygene Web原型
  • Java最佳实践系列
  • Java教程和Android教程列表

翻译自: https://www.javacodegeeks.com/2011/09/jboss-modules-example-modular-web.html

jboss 发布web

jboss 发布web_JBoss模块示例–模块化Web应用程序相关推荐

  1. JBoss模块示例–模块化Web应用程序

    最近,我读了为什么没有标准来开发真正的模块化Web应用程序? 由Patroklos Papapetrou撰写( 在Java Code Geeks中也有介绍 ). 受本文的启发,我决定检查实际使用的JB ...

  2. web前端模块化开发_真正的模块化Web应用程序:为什么没有开发标准?

    web前端模块化开发 OSGI , SpringSource , Jboss模块 ,J2EE和清单永远不会结束.所有这些技术都向他们的最终用户/开发人员保证了相同的东西,或多或少是Java模块化Web ...

  3. 真正的模块化Web应用程序:为什么没有开发标准?

    OSGI , SpringSource , Jboss模块 ,J2EE和清单永远不会结束.所有这些技术都向他们的最终用户/开发人员保证了相同的东西,或多或少是Java模块化Web应用程序(?). 但是 ...

  4. r语言r-shiny_使用Shiny和R构建您的第一个Web应用程序仪表板

    r语言r-shiny by AMR 通过AMR 使用Shiny和R构建您的第一个Web应用程序仪表板 (Build your first web app dashboard using Shiny a ...

  5. ASP.NET 2.0 本地化功能:本地化 Web 应用程序的新方法

    适用于: Microsoft ASP.NET 2.0 Microsoft Visual Studio .NET Microsoft Visual Studio 2005 本地化 摘要:随着越来越多的公 ...

  6. 推荐介绍一项新的工程技术:[威胁建模]的相关系列文章《威胁建模Web 应用程序》...

    以往我们建立和开发web应用,特别是要部署到Internet上的工程项目,都要多多少少考虑一些安全性问题,分析可能存在的漏洞,来决定如何有效防范攻击,但是很少有公司或个人将这种行为活动归结到项目的建模 ...

  7. web应用程序和Web网站区别

    Vs2005和VS2008中都有建立web应用程序和Web网站,总搞的大家不知所戳. web应用程序可能是微软为了让程序员很好的从winform过渡到web开发而保留了.Web网站就完全要应用到web ...

  8. 【ASP.net】--WebSite(网站) 和 WebApplication(Web应用程序)

    前言 :           在利用VS2010创建web项目的时候,会有两个选择.可以选择直接创建website网站,也可以Webapplication应用程序.刚刚接触web开发,看到这两个就疑惑 ...

  9. iis 反向代理 应用程序_我如何反向工程字节并创建自己的字节Web应用程序

    iis 反向代理 应用程序 Byte, a new app from Vine cofounder Dom Hofmann, has been released on Android and iOS. ...

最新文章

  1. 2022-2028年全球与中国闪光棉市场研究及前瞻分析报告
  2. 到2020年,智能手机将拥有十项AI功能,有些可能会出乎你意料
  3. 世界互联网大会上发布的《中国互联网发展报告2020》显示——中国人工智能专利申请数跃居世界第一...
  4. 华为nova 2 Plus魔镜版818欢购热潮凶猛来袭
  5. PDU是如何帮助机房安然度夏?如何选择PDU电源配套机柜?
  6. 在JSP中读取POST的JSON数据
  7. Spring AOP 增强器获取的源码解析
  8. 【计算机网络复习 物理层】2.2 物理传输介质
  9. Docker图形界面
  10. elasticsearch监控平台cerebro-0.8.3 相关操作
  11. Druid连接池jar包的下载 配置和简单使用
  12. vivado保存波形图_FPGA开发:Vivado时序波形图保存和读取
  13. 揭开MySQL数据库的神秘面纱!
  14. wpsa4排版_wps排版(wps如何一键排版)
  15. 在PostgreSQL中创建Arcgis企业级地理数据库
  16. (遇到问题) AAAI2021 pdf要求: CYMK颜色空间,png图片300DPI,字体嵌入pdf
  17. 基于神经网络的预测控制,神经网络预测系统应用
  18. 极验验证的滑动验证码破解
  19. 给电脑重装系统的方法与重装过程中问题解决
  20. 凯文凯利著作《必然》

热门文章

  1. 【最全最详细】publiccms常用的代码片段
  2. 《狂人日记》金句摘抄(一)
  3. java实现加密电话号码,有具体的加密流程注释
  4. JavaScript实现复选框全选与全不选的效果
  5. TS对象中的实例属性和静态属性
  6. mysql sample函数_Oracle SAMPLE 语法应用
  7. antd vue表单上传文件_vue+axios+antD的上传图片踩坑
  8. openfire client聊天消息交互和存储离线(在线)消息记录策略
  9. datastax.repo_使用Datastax Java驱动程序与Cassandra进行交互
  10. drill apache_使用Apache Drill深入研究当今的大数据