日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jboss 发布web_JBoss模块示例–模块化Web应用程序

發布時間:2023/12/3 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jboss 发布web_JBoss模块示例–模块化Web应用程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。