jboss 发布web_JBoss模块示例–模块化Web应用程序
jboss 发布web
我首先想到了以下目标–使用我自己的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应用程序相关推荐
- JBoss模块示例–模块化Web应用程序
最近,我读了为什么没有标准来开发真正的模块化Web应用程序? 由Patroklos Papapetrou撰写( 在Java Code Geeks中也有介绍 ). 受本文的启发,我决定检查实际使用的JB ...
- web前端模块化开发_真正的模块化Web应用程序:为什么没有开发标准?
web前端模块化开发 OSGI , SpringSource , Jboss模块 ,J2EE和清单永远不会结束.所有这些技术都向他们的最终用户/开发人员保证了相同的东西,或多或少是Java模块化Web ...
- 真正的模块化Web应用程序:为什么没有开发标准?
OSGI , SpringSource , Jboss模块 ,J2EE和清单永远不会结束.所有这些技术都向他们的最终用户/开发人员保证了相同的东西,或多或少是Java模块化Web应用程序(?). 但是 ...
- r语言r-shiny_使用Shiny和R构建您的第一个Web应用程序仪表板
r语言r-shiny by AMR 通过AMR 使用Shiny和R构建您的第一个Web应用程序仪表板 (Build your first web app dashboard using Shiny a ...
- ASP.NET 2.0 本地化功能:本地化 Web 应用程序的新方法
适用于: Microsoft ASP.NET 2.0 Microsoft Visual Studio .NET Microsoft Visual Studio 2005 本地化 摘要:随着越来越多的公 ...
- 推荐介绍一项新的工程技术:[威胁建模]的相关系列文章《威胁建模Web 应用程序》...
以往我们建立和开发web应用,特别是要部署到Internet上的工程项目,都要多多少少考虑一些安全性问题,分析可能存在的漏洞,来决定如何有效防范攻击,但是很少有公司或个人将这种行为活动归结到项目的建模 ...
- web应用程序和Web网站区别
Vs2005和VS2008中都有建立web应用程序和Web网站,总搞的大家不知所戳. web应用程序可能是微软为了让程序员很好的从winform过渡到web开发而保留了.Web网站就完全要应用到web ...
- 【ASP.net】--WebSite(网站) 和 WebApplication(Web应用程序)
前言 : 在利用VS2010创建web项目的时候,会有两个选择.可以选择直接创建website网站,也可以Webapplication应用程序.刚刚接触web开发,看到这两个就疑惑 ...
- iis 反向代理 应用程序_我如何反向工程字节并创建自己的字节Web应用程序
iis 反向代理 应用程序 Byte, a new app from Vine cofounder Dom Hofmann, has been released on Android and iOS. ...
最新文章
- 2022-2028年全球与中国闪光棉市场研究及前瞻分析报告
- 到2020年,智能手机将拥有十项AI功能,有些可能会出乎你意料
- 世界互联网大会上发布的《中国互联网发展报告2020》显示——中国人工智能专利申请数跃居世界第一...
- 华为nova 2 Plus魔镜版818欢购热潮凶猛来袭
- PDU是如何帮助机房安然度夏?如何选择PDU电源配套机柜?
- 在JSP中读取POST的JSON数据
- Spring AOP 增强器获取的源码解析
- 【计算机网络复习 物理层】2.2 物理传输介质
- Docker图形界面
- elasticsearch监控平台cerebro-0.8.3 相关操作
- Druid连接池jar包的下载 配置和简单使用
- vivado保存波形图_FPGA开发:Vivado时序波形图保存和读取
- 揭开MySQL数据库的神秘面纱!
- wpsa4排版_wps排版(wps如何一键排版)
- 在PostgreSQL中创建Arcgis企业级地理数据库
- (遇到问题) AAAI2021 pdf要求: CYMK颜色空间,png图片300DPI,字体嵌入pdf
- 基于神经网络的预测控制,神经网络预测系统应用
- 极验验证的滑动验证码破解
- 给电脑重装系统的方法与重装过程中问题解决
- 凯文凯利著作《必然》
热门文章
- 【最全最详细】publiccms常用的代码片段
- 《狂人日记》金句摘抄(一)
- java实现加密电话号码,有具体的加密流程注释
- JavaScript实现复选框全选与全不选的效果
- TS对象中的实例属性和静态属性
- mysql sample函数_Oracle SAMPLE 语法应用
- antd vue表单上传文件_vue+axios+antD的上传图片踩坑
- openfire client聊天消息交互和存储离线(在线)消息记录策略
- datastax.repo_使用Datastax Java驱动程序与Cassandra进行交互
- drill apache_使用Apache Drill深入研究当今的大数据