Avatar billede drevi Nybegynder
20. oktober 2003 - 15:18 Der er 18 kommentarer

JBoss port skifte

Jeg skal have alt komunikation og transaktioner i JBoss til at forgå på en port, grundet er det er en eneste port der er åben i en router og firewall, jeg har læst mig frem til at Jboss kan indstilles således:

<mbean code="org.jboss.naming.NamingService" name="jboss:service=Naming">
<attribute name="Port">minNyePortNummer</attribute>
<mbean>

Mit spørgsmål:
Er det nok at ændre den mbean(server/dafault/conf/jboss-service.xml) til et nyt nummer for jeg kan se den køre noget transaktoins overførelse på port 8787 eller hvad?
Avatar billede arne_v Ekspert
20. oktober 2003 - 16:02 #1
Det er vel kun JNDI server porten der sættes der.

Jeg kan ikke forestille mig at der ikke også bruges andre porte.

Hvis du skal gennem en firewall så vil jeg foreslå dig at droppe
direkte EJB kald og lave web service kald (som er standard HTTP !)
gennem firewallen og så lade din web service lave EJB kald.
Avatar billede arne_v Ekspert
20. oktober 2003 - 16:02 #2
Apache Axis er godt til web services.
Avatar billede drevi Nybegynder
20. oktober 2003 - 16:17 #3
Der overhovedt ingen mulighed for at deploye det hele på en port?

jeg ved godt at web service ville være en rar løsning, men jeg har ikke tid til implementionen(med mindre du har en løsning på en web service der kan fixse på et par min), da det her sådan en næsten on the site fix.
Avatar billede arne_v Ekspert
20. oktober 2003 - 16:30 #4
Jeg tror ikke at du kan køre det hele på en port.

Men du kan da prøve.

Axis er ret nem.

Man kan bare deploye almindelige Java klasser som .jws filer så
bliver de automatisk til web services.

Og på client side kan man få genereret stubs udfra WSDL URL.

Men det tager nok timer ikke minutter !
Avatar billede drevi Nybegynder
20. oktober 2003 - 16:36 #5
ok jamen hvordan finder jeg ud af hvilke porte Jboss bruger, så jeg eventuelt kan åbne eller NAT dem over(nu er godt ikke mig der gør men..)
jeg kender 1099 som JNDI køre med standard, men der må jo være nogle flere og Jboss genere vel ikke bare nogle tilfældige porte
Avatar billede arne_v Ekspert
20. oktober 2003 - 16:41 #6
Det kan du faktisk godt risikere !

Jef ved ikke hvordan JBoss virker.

Men jeg hvordan RMI virker:

registry lytter på port 1099

server binder (lytter på port X og registrerer sig i registry)

client laver lookup i registry via port 1099 og får et objekt som connecter til server på port X

(man skal bruge en socket factory for at få kontrol med port X)
Avatar billede drevi Nybegynder
20. oktober 2003 - 17:01 #7
ja men hvis du køre ren Socket med RMI kan du også selv sætte dine porte(hvilket du også skrivcer lidt) så jeg går ud fra JBoss har sat dem et sted, hvis den random() vælger dem må den da holde sig indenfor visse afgrænsninger.

jeg ser at Jboss har en jnp.socketFactory som man kan sætte i bønnen
jeg har også fundet det her udkommetere kode <!-- RMI/JRMP invoker -->
  <mbean code="org.jboss.invocation.jrmp.server.JRMPInvoker"
        name="jboss:service=invoker,type=jrmp">
    <!--
    <attribute name="RMIObjectPort">4444</attribute>
    <attribute name="RMIClientSocketFactory">custom</attribute>
    <attribute name="RMIServerSocketFactory">custom</attribute>
    <attribute name="RMIServerSocketAddr">custom</attribute>
    <attribute name="SecurityDomain">ssl-domain-name</attribute>
    -->
kan det styre min porte?
Avatar billede arne_v Ekspert
20. oktober 2003 - 17:06 #8
Det her dokument:
  http://jboss.sourceforge.net/doc-24/ch09s03.html
er forældet men det siger: 1099 (JNDI lookup), 4444 (client-server)
og 8083 (class doenload)
Avatar billede arne_v Ekspert
20. oktober 2003 - 17:08 #9
http://forums.cookienest.com/viewtopic.php?p=403

er nyere.

(ignorer alt med HA - det er kun relevant for cluster)
Avatar billede drevi Nybegynder
20. oktober 2003 - 17:24 #10
Det vil sige at klienter finder deres context på port 1099 og de overføre data på port 4444, jeg fanger bare ikke nogle af portene i netstat, tilgengæld har jeg en på port 1134 som jeg mis tænker for at være min overfølses port
Avatar billede arne_v Ekspert
20. oktober 2003 - 17:29 #11
Klienter får returneret et home object fra lookup på port 1099.

Hvad det home object så snakker med vides jo ikke med sikekrhed.

Ifølge ovenstående docs (som kan være forældet så bruger det 4444 til
normal client-server kald og en separat port til class loading).
Avatar billede arne_v Ekspert
20. oktober 2003 - 17:33 #12
Der er ikke noget på min 1134.

Jeg får 1099, et hav af 47xx og 8083.
Avatar billede drevi Nybegynder
20. oktober 2003 - 17:51 #13
ok jeg har ikke forsøgt endnu men teroien lige nu, er altså at hvis man ændre de porte i conf/jboss-service.xml så vil JBoss benytte de nye porte, eller er det fra rådeligt at køre det forsøg, på den anden side når home interfacet kommer frem benytter den måske en protokol til at finde en fælles port for begge maskiner der kan benyttes eller skal jeg ikke håbe på det?
jeg køre med JBoss 3.2.1 jeg har slet ingen i 4xxx eller i 8083 men jeg får en del 11xx,
Avatar billede arne_v Ekspert
20. oktober 2003 - 17:55 #14
Port 1099 og 8083 er defineret i jboss-service.xml - og det ser ud som om
at 4444 kan konfigureres (men bare er udkommenteret default).
Avatar billede arne_v Ekspert
20. oktober 2003 - 17:57 #15
Men test grundigt.

EJB kald er ikke beregnet til at gå gennem firewalls.
Avatar billede drevi Nybegynder
20. oktober 2003 - 17:57 #16
jeg gør et forsøg og vender tilbage med resultatet imorgen eller sener iaften
Avatar billede drevi Nybegynder
22. oktober 2003 - 03:26 #17
Nå jeg glemte vist svare her

Det er muligt at ændre portene i JBoss det er dog ikke muligt at binde de 3 servicer til den samme port og hvis Jboss køre noget Jetty eller Tomcat så bemærk lige at port 80 ikke er tilgængelig, med mindre man kan slå den service fra, det har jeg ikke undersøgt.

portene ændre man de omtalte steder i denne tråd/spørgsmål altså i jboss-service.xml

Grunden til jeg ikke kunne finde mine EJB's var at min RMI/JRMP invoker var udkommenteret så min JBoss random fandt porte ud fra JNDI porten så vidt jeg kan læse, dette er jeg dog ikke helt sikker på.

lige et par link's der under støtter mine påstande:

http://www.jboss.org/thread.jsp?forum=47&thread=38461&message=3799440&q=port#3799440
http://www.jboss.org/thread.jsp?forum=47&thread=38343&message=3798756&q=port#3798756
Avatar billede arne_v Ekspert
22. oktober 2003 - 09:08 #18
Det med de 3 porte var vi jo nået frem til.

Jetty/Tomcat's porte betyder ikke noget, hvis ikke du skal bruge dem.

Ovenstående link antyder imidlertid at både JNDI lookup og selve EJB kaldd kan
tunneles gennem HTTP, hvilket må være interessant !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester