การเชื่อมต่อ RMI หรือซ็อกเก็ตกับโปรแกรม Java บน OpenShift

ฉันมีสถานการณ์ง่าย ๆ ดังต่อไปนี้:

ฉันได้สร้างแอปพลิเคชัน JBossAS7 บน OpenShift ฉันมี index.jsp ที่เรียกคลาส Java ทุกครั้งที่โหลด คลาส Java นี้รวบรวมข้อมูลบางส่วนและบันทึกเป็นสตริง สิ่งที่ฉันต้องการทำตอนนี้คือรับข้อความที่อยู่ในสตริงนั้น แต่ไม่มีข้อความนั้นแสดงบนหน้า

สิ่งที่ฉันต้องการคือกลไกเช่น RMI หรือซ็อกเก็ตที่ฉันสามารถเชื่อมต่อและรับ String โดยใช้โปรแกรมไคลเอนต์ น่าเสียดายที่ OpenShift บล็อกพอร์ตทั้งหมด และฉันไม่สามารถใช้ RMI หรือซ็อกเก็ตเพื่อผูกกับสิ่งใดๆ ได้ (ฉันมักจะถูกปฏิเสธสิทธิ์เสมอ)

มีวิธีแก้ไขปัญหานี้หรือไม่? ขอบคุณ!


person Ciri    schedule 14.05.2014    source แหล่งที่มา


คำตอบ (2)


ฉันจะบอกว่าวิธีที่ดีที่สุดสำหรับคุณในการเปิดเผยข้อมูลนั้นคือผ่านเซิร์ฟเล็ต หรือสร้าง Restful API และอนุญาตให้เข้าถึงข้อมูลนั้น อาจมีการรับรองความถูกต้องหรือโทเค็นความปลอดภัย

อีกความคิดหนึ่งคือการใช้ ironmq (iron.io) และส่งข้อมูลไปยังคิวที่คุณสามารถประมวลผลจากแอปพลิเคชันอื่นได้

person Community    schedule 14.05.2014

วิธีที่ฉันแก้ไขนี้ค่อนข้างตรงไปตรงมา แต่อธิบายได้ไม่ดีและบันทึกไว้ในฟอรัมหรือกระดานข้อความ

OpenShift อนุญาตให้ผู้ใช้ผูกพอร์ตระหว่าง 15000 ถึง 35530 เท่านั้น อย่างไรก็ตาม เมื่อทำเช่นนั้น ผู้ใช้จะต้องระบุที่อยู่ IP ของโฮสต์ด้วย ไม่เช่นนั้น localhost จะถูกนำมาใช้ ซึ่งไม่ได้รับอนุญาตบน OpenShift ที่อยู่ของเซิร์ฟเวอร์อยู่ภายใต้ตัวแปรสภาพแวดล้อม OPENSHIFT_JBOSSAS_IP (ฉันใช้ JBoss AS 7.1 ตัวแปรอาจมีชื่อที่แตกต่างกันขึ้นอยู่กับเทคโนโลยีใดก็ตามที่ใช้) ฉันพบสิ่งนี้โดยการลงชื่อเข้าใช้แอปพลิเคชันของฉันผ่าน SSH และเรียกใช้คำสั่ง env

เมื่อโปรแกรมเริ่มทำงานบน OpenShift และพอร์ตเชื่อมโยงกับที่อยู่ IP ที่ถูกต้อง ผู้ใช้จะต้องส่งต่อพอร์ตเพื่อเชื่อมต่อ ซึ่งสามารถทำได้จาก eclipse หรือใช้เครื่องมือ RHC การส่งต่อพอร์ตบน OpenShift หมายความว่าพอร์ตที่ถูกผูกไว้บนเซิร์ฟเวอร์ OpenShift จะถูกแมปกับพอร์ตเดียวกันบนโลคัลโฮสต์ของผู้ใช้ เมื่อเขียนโปรแกรมไคลเอนต์ ผู้ใช้จะต้องเชื่อมต่อกับ localhost:PORT แทน IP_ADDRESS_OF_OPENSHIFT_SERVER:PORT นี่เป็นสิ่งที่ต้องใช้เวลาสักพักกว่าฉันจะเข้าใจ เมื่อฉันได้ทุกอย่างถูกต้องแล้ว โปรแกรมไคลเอนต์ก็ทำงานได้โดยไม่มีปัญหา

person Ciri    schedule 18.05.2014