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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Eclipse+Wildfly10 创建第一个EJB项目

發布時間:2023/12/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Eclipse+Wildfly10 创建第一个EJB项目 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考博客:http://www.micmiu.com/j2ee/ejb/eclipse-jboss-ejb-demo/

https://blog.csdn.net/taiyangdao/article/details/50826865

http://www.zzqq.org/p/0326280574d92f13b11c3bce0eb785b0.html?最后 遇到問題 部分

?

一、Eclipse安裝?Wildfly 10服務器

下載Wildfly 10?在eclipse中 配置 Server Runtime Environments

?

二、創建Server

File → New → Other → Server →?Wildfly 10.0

?

三、創建EJB工程

?File →?New →?Other … →?EJB →?EJB Project

?

輸入工程名字,下面默認。

?

【Next】→【Next】(選中?Generate ejb-jar.xml deployment descriptor)→【Finish】

?

目錄如下:

?

ejbModule就是編寫JAVA源碼的地方(即EJB代碼)

在ejbModule 目錄上右鍵【New】→【Other…】→【EJB】→?Session Bean(EJB 3.x)

?

→【Next】輸入包名:com.micmiu.ejb、EJB類名:HelloWorld ,選中 Remote選項??→【Finish】.

?

自動生成兩個類:HelloWorldRemote.java? ? ?

這里添加了方法

接口類?需要打jar包?后面客戶端訪問的時候會用到??

package com.micmiu.ejb;import javax.ejb.Remote;@Remote public interface HelloWorldRemote {String sayHello(String username); }

HelloWorld.java

這是實現類

實現接口類方法

package com.micmiu.ejb;import javax.ejb.LocalBean; import javax.ejb.Stateless;/*** Session Bean implementation class HelloWorld*/ @Stateless @LocalBean public class HelloWorld implements HelloWorldRemote {/*** Default constructor. */public HelloWorld() {// TODO Auto-generated constructor stub}@Overridepublic String sayHello(String username) {// TODO Auto-generated method stubreturn "Hello," + username + " welcome to EJB.";}}

?

四、部署?

兩種方式:

1、eclipse中啟動wildfly服務器? server?start?

2、將EJB工程打包?放到wildfly?的server中?

( 我電腦路徑是:E:\ews\wildfly-10.1.0.Final\standalone\deployments )

在工程上右鍵→【Export】→【EJB JAR file】?Destination處:→【Browse…】→?選擇Wildfly服務器的部署目錄:wildfly-10.1.0.Final\standalone\deployments→【完成】即可


再運行:E:\ews\wildfly-10.1.0.Final\bin?中的??standalone.bat


?

五、獲取JNDI?路徑

?

1、獲取JNDI的規則:

For stateless beans: ejb:<app-name>/<module-name>/<distinct-name>/<bean-name>!<fully-qualified-classname-of-the-remote-interface> For stateful beans: ejb:<app-name>/<module-name>/<distinct-name>/<bean-name>!<fully-qualified-classname-of-the-remote-interface>?stateful

第一個是appname 第二個是module name,distinct name可以設空,bean name就是實現remote/local 接口的bean類名
?

2、獲取JNDI路徑的方法有兩種:

?

第一種 查看console?獲取JNDI路徑

①eclipse中啟動

第一行標注的是客戶端訪問用到的JNDI路徑,只有準確寫入之后才可以訪問到ejb對象。

?

②在wildfly上部署啟動

運行:E:\ews\wildfly-10.1.0.Final\bin?中的??standalone.bat

其中第二行才是需要的JNDI路徑?原因:

HelloWorldRemote?接口類中有@Remote注解?才可以找到

分析路徑:EJB-HelloWorld/HelloWorld!com.micmiu.ejb.HelloWorldRemote

EJB-HelloWorld?是ejb項目的名字,是編譯部署到wildfly的名字,HelloWorld是你注解name的ejb名字,com.micmiu.ejb.HelloWorldRemote是@Remote注解的完整路徑。

?

第二種?查看wildfly?console??獲取JNDI路徑

打開wildFly administrator console界面,需要輸入wildfly服務器用戶的用戶名和密碼。
Runtime->Standalone Server->Subsystems->JNDI view?
進入JNDI視圖后,最下面點開 applications,就是你發布成功的ejb。

?

?

?

?

配置完成的JNDI:EJB-HelloWorld/HelloWorld!com.micmiu.ejb.HelloWorldRemote

?


擴展:

wildfly?配置JNDI的時候?到底用什么方法???

wildfly配置不能使用JBoss那一套了,反正我之前嘗試了很多都報錯。然而網上大部分還都是JBOSS那一套,JBOSS的升級版是wildfly。參考:Java EE 遠程客戶的訪問EJB實現實例(Jboss wildfly)? 需要查閱wildfly的文檔?找了半天沒找到?

網上又有說法是,在用wildfly做開發時,完全可以照搬照看wildfly企業版jbossEAP官方的資料: https://developers.redhat.com/products/eap/docs-and-apis/

還有oracle 官方的Java EEtutorial也甚為經典:?

https://docs.oracle.com/javaee/7/tutorial/

?

?

六、創建客戶端工程

?1、創建java? 類

File → New → Other …?→ Java Project

接下來很關鍵,需要添加兩個jar包。這里是理解EJB的重點,一個是接口類jar包,說明請求訪問EJB的哪個具體方法,具體實現方法 在這里不需要單獨打包,部署的時候已經把整個EJB工程打包過了放到服務器上了,其中包括具體實現。

再一個就是?wildfly的Client的jar包,應該是client和wildfly的溝通規則,我理解是相當于對方的電話號碼。

2、將EJB工程中的接口類?Export ->?jar包 ,添加到客戶端工程classpath中

在接口文件上右鍵——【Export】——java中的jar

?

3、添加wildfly?Client的jar包 (E:\ews\wildfly-10.1.0.Final\bin\client)

這里存在兩個?jboss-client.jar?和 jboss-cli-client.jar?測試發現??jboss-client.jar是必須的?第二個不知道有啥用?都添進去也不影響

?

4、創建客戶端測試類?HelloWorldTest

package com.ews.ejb;import java.util.Properties; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import com.micmiu.ejb.HelloWorldRemote;public class HelloWorldTest {public static void main(String[] args) throws NamingException {Properties props = new Properties();props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory"); props.put(Context.PROVIDER_URL, "http-remoting://localhost:8081");props.put("jboss.naming.client.ejb.context", true);InitialContext context = new InitialContext(props);//JNDI路徑 查看控制臺輸出文件 @remote 注解的String fullEJBName = "EJB-HelloWorld/HelloWorld!com.micmiu.ejb.HelloWorldRemote";HelloWorldRemote helloWorld = (HelloWorldRemote) context.lookup(fullEJBName);System.out.println(helloWorld.sayHello("wls"));}}

其中??Properties?為常規配置

fullEJBName?為前面從控制臺中獲取到的JNDI的路徑,通過該路徑成功獲取到ejb對象。

?

設置JNDI上下文參數

JNDI上下文的參數與使用的遠程JNDI類型相關。具體可以分為http-remoting方式和ejb方式2種。

ejb方式測試以后報錯,所以這里使用 http-remoting方式,來實現客戶端通過JNDI遠程調用EJB的方法

?

七、測試?

前面已經啟動了wildfly 服務器(兩種方法都可以)

再運行客戶端,成功打印如下:

總結

以上是生活随笔為你收集整理的Eclipse+Wildfly10 创建第一个EJB项目的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产激情久久久久 | 亚洲伦理在线观看 | 亚洲免费大片 | 四虎影院在线观看免费 | 欧美精品一 | 成 人 黄 色 片 在线播放 | 综合狠狠开心 | 日韩女优在线观看 | 欧美日韩蜜桃 | 免费h漫禁漫天天堂 | 日本高清视频www | 日韩欧美在线观看 | 狠狠干网站 | 最新天堂中文在线 | 成人a级片 | 中文在线免费视频 | 国产一区二区在线观看免费 | 美女av一区二区 | 白浆影院| 中文字幕人妻丝袜乱一区三区 | 欧美激情视频一区二区三区不卡 | 亚洲黄色成人 | 舐め犯し波多野结衣在线观看 | 精品久久久久久久久久久久久久 | 琪琪色在线观看 | 中文字幕精品久久久久人妻红杏ⅰ | 福利视频第一页 | 黄色美女毛片 | 中国精品久久久 | 一本色道久久88综合无码 | 91视频首页 | 三级黄色片网站 | 四色网址 | 亚洲91色| 日本黄页网站免费大全 | 九色.com| 亚洲精品国产av | 内地毛片 | 骚虎tv | 成人免费视 | av鲁丝一区鲁丝二区鲁丝 | 日韩成人在线视频观看 | 俄罗斯videodesxo极品 | 欧美精品福利 | 先锋av资源站 | 天天视频黄色 | 天堂网在线最新版www中文网 | 国产精品欧美大片 | 日本在线不卡一区 | 久久人妻一区二区 | 日韩成人综合网 | 成人av网站在线播放 | 黄色免费一级片 | 天堂网在线观看视频 | 女同在线观看 | 国产精品不卡一区二区三区 | 性生活一区| aaa毛片视频| 午夜久久网 | 亚洲精品一线 | 视频在线观看电影完整版高清免费 | 国产特级毛片aaaaaa | 欧美影院一区二区 | 久久久久久人妻一区二区三区 | 夜夜伊人 | 日本三级视频在线 | 国产精品乱码久久久久久 | 97精品人妻一区二区三区在线 | 国内一区二区三区 | 人妻少妇被粗大爽9797pw | 1000部啪啪 | 永久黄色网址 | 国产淫视频 | 999国内精品永久免费视频 | 中文字幕第12页 | 国产精品aaaa | 亚洲天堂高清 | 人人看人人澡 | 亚洲精品激情 | 俄罗斯毛片 | 国产激情无码一区二区 | 国产精品久久久久久久专区 | 国产一区二区三区四区五区美女 | 中国女人内谢69xxxx | 毛片aaa | 手机看片日韩日韩 | 神马久久久久久 | 少妇一级淫免费播放 | 一本色道久久综合亚洲二区三区 | 亚洲天堂麻豆 | 精品一区二区av | 国内成人av | 国产超碰av | 99久久婷婷 | 91精品综合久久久久久五月天 | 成人在线高清视频 | 天堂中文在线播放 | 亚洲一级片免费 | 一区二区不卡av |