คู่มือ Remote Access to EJB on GlassFish สำหรับ Java
คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี
ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง
คำสั่ง ชื่อเมนู Parameter และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง
เอ็นเตอร์ไพรส์ Java Beans(EJB) เป็นส่วนหนึ่งของสถาปัตยกรรมฝั่ง Server ของ Java EE ข้อกำหนดประกอบด้วยมุมมอง Client สองประเภท: มุมมองระยะไกลและภายในเครื่องในกรณีหนึ่งแอป Java ของคุณอาจต้องใช้ Session และเอนทิตี bean ที่มีโฮมและ Interface คอมโพเนนต์ภายในเครื่องและในอีกกรณีหนึ่ง - ด้วยรีโมต
มาดูกันว่า Interface เหล่านี้แตกต่างกันอย่างไรและ Interface ใดที่คุณต้องเลือกใช้งาน
หากคุณแน่ใจว่า Client อื่นและ EJB จะเข้าถึง bean ของคุณผ่าน JVM เดียวคุณสามารถใช้มุมมองลูกค้าท้องถิ่น. นอกจากนี้ยังเหมาะสำหรับกรณีที่เมล็ดกาแฟของคุณเชื่อมโยงถึงกันอีกด้วยการเข้าถึงดังกล่าวจะดำเนินการภายในการเรียกเมธอดโดยตรงไม่ใช่ผ่านการเรียกใช้เมธอดระยะไกล (RMI)
สำหรับกรณีที่ Client ของคุณถูกวางบน JVM อื่นเช่นคุณต้องการใช้ bean ของคุณใน Environment แบบกระจายดังนั้นจึงมีความจำเป็นที่จะต้องทำงานกับมุมมองลูกค้าระยะไกล. การเรียกวิธีการทั้งหมดจาก Interface ระยะไกลจะถูกจัดการโดยมันนอกจากนี้ยังควรใช้ RCV ในขณะที่ทำงานกับ Parameter ที่ส่งผ่านค่าระหว่าง Application Client และ bean
มาดูวิธีการ Deploy Java Bean กับ Hosting PaaS และใช้ Client ระยะไกล EJB เพื่อทำงานกับมัน
ก. สร้าง Environment
-
เข้าสู่ระบบบัญชี PaaS ของคุณ
-
คลิกที่สร้าง Environmentปุ่มเพื่อเปิดวิซาร์ด Topology Environment หยิบGlassFishเป็น Application Server ของคุณและตั้งค่าขีดจำกัด Cloudlet ตามความต้องการการใช้ Resource ของ Application Java Enterprise ของคุณเปิดใช้งานPublic IPสำหรับ GlassFish ให้พิมพ์ชื่อ Environment ของคุณแล้วคลิกสร้าง.
รอประมาณหนึ่งนาทีเพื่อสร้าง Environment ของคุณ 3.เพื่อที่จะได้มองเห็นความPublic IPของ Server GF ของคุณกดปุ่มเพิ่มเติมข้างๆ
ข. สร้าง Application
-
ในตอนเริ่มต้นให้สร้าง Directory ใหม่เพื่อวางไฟล์ EJB และ Client Application ของคุณ
-
จากนั้นสร้างของคุณSession บีน. จะถูกใช้เพื่อเข้าถึง Application ที่ Deploy ผ่านแอป Client ระยะไกลผ่านการดำเนินงานทางธุรกิจภายใน Server
จาวาคัดลอก
package com;
import javax.ejb.Stateless;
@Stateless
public class EJBTest implements EJBTestRemote {
@Override
public String getName(String name) {
return "name is: " + name;
}
}
- ขั้นตอนต่อไปคือการสร้างเอ็นเตอร์ไพรส์ Java Beansอินเตอร์เฟซจำเป็นสำหรับ Client ระยะไกลเพื่อเข้าถึงถั่ว
จาวาคัดลอก
package com;
import javax.ejb.Remote;
public interface EJBTestRemote {
public String getName (String name);
}
-
สร้างโมดูลใหม่และแพ็คลงในไฟล์ด้วย.หูส่วนขยาย.
-
รหัสต่อไปนี้เป็นตัวอย่างของ Application Client ระยะไกลซึ่งใช้ในการเข้าถึง bean มันทำการเชื่อมต่อระยะไกลกับ EJB ของคุณผ่าน Public IP ของ Application Server GlassFish และเรียกใช้รับชื่อ()วิธีการซึ่งในทางกลับกันจะส่งคืนข้อมูลไปยัง Client
จาวาคัดลอก
package ejbclient;
import com.EJBTestRemote;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class Main {
private static InitialContext ic;
//private String host="",port="";
public void loadProperties(String h, String p) {
try {
Properties props = new Properties();
System.out.println("h: " + h + " p: " + p);
props.setProperty("java.naming.factory.initial",
"com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("java.naming.factory.url.pkgs",
"com.sun.enterprise.naming");
props.setProperty("java.naming.factory.state",
"com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl");
props.setProperty("org.omg.CORBA.ORBInitialHost", h);
props.setProperty("org.omg.CORBA.ORBInitialPort", p);
ic = new InitialContext(props);
} catch (NamingException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void main(String a[]) {
try {
new Main().loadProperties("{GlassFish_Public_IP}", "23700");
EJBTestRemote etr = (EJBTestRemote) ic.lookup("com.EJBTestRemote");
System.out.println(etr.getName("Jelastic"));
} catch (NamingException ex) {
}
}
}
บันทึก:จำนวน Port ทั้งหมดเริ่มต้นด้วยตัวเลข 2 หลักเพิ่มเติมด้วยเหตุผลที่ Platform ใช้งานได้gfclusterเท่านั้น.
เป็นตัวอย่าง.หูไฟล์ที่คุณสามารถใช้ Package นี้ได้
C. DeployApplication
- ไปที่ DashboardPlatform เปิดผู้จัดการฝ่าย Deployและอัปโหลดที่สร้างขึ้น.หูภายในนั้นหวังว่าบทช่วยสอนพื้นฐานการใช้งาน Interface ระยะไกลนี้จะช่วยคุณได้สนุก!
2. Deploy Package ที่อัปโหลดไปยัง Environment GlassFish ที่สร้างขึ้นในขั้นตอน A ของคำแนะนำนี้
3. สุดท้ายให้เรียกใช้ Application ของคุณ (กดเปิดใน Browserถัดจาก Environment) และตรวจสอบผลลัพธ์
หวังว่าบทช่วยสอนพื้นฐานการใช้งาน Interface ระยะไกลนี้จะช่วยคุณได้สนุก!

