Discussions
Categories
- 196.9K All Categories
- 2.2K Data
- 239 Big Data Appliance
- 1.9K Data Science
- 450.4K Databases
- 221.7K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 550 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 546 SQLcl
- 4K SQL Developer Data Modeler
- 187K SQL & PL/SQL
- 21.3K SQL Developer
- 295.9K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.6K Development Tools
- 107 DevOps
- 3.1K QA/Testing
- 646K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 155 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 18 Java Essentials
- 160 Java 8 Questions
- 86K Java Programming
- 80 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 442 LiveLabs
- 38 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 232 Portuguese
RMI through a Firewall

Hello all,
i read some article that describe and resolve the RMI port problems (the RMI open for a connection a second random port).
Here an example of the article that i have found Java RMI - Two things to remember
The problem is that i have implemented how described into the article (overwrite the RMISocketFactory class), but the result don't resolve the problem.
In others words I have only a call to the createSocket method (with port=2005 that is the port where the rmi ServerSocket is listening) that create two connection at port 2005 and another random port. I don’t have a call to a createSocket with port 0 that I can intercept.
I think that is impossible to remap the second random port to a defined value.
I work in windows with JBuilder.
The thing that “baffles” me is that is strange, that a known problem like this it, has not been resolved in all this year from the java distributors.
What do you think about this?
What is that I fail to see?
Thanks for your time
Best regards
Answers
-
Hi
RMI use random ports for communication between the stub and the remote object
for pass this traffic to firewall,
the solution is to tunnel RMI traffic over HTTP
please check:
https://docs.oracle.com/javase/8/docs/platform/rmi/spec/rmi-arch6.html
3.5 RMI Through Firewalls Via Proxies
Regards
Stefan
-
Hi Stefan
thank for your answer,
However i have found here:
https://docs.oracle.com/javase/8/docs/api/java/rmi/server/RMISocketFactory.html
that the http tunnelling is deprecated, and "are subject to removal ..."
There's just no other way to use RMI with a Firewall?
Best Regards
Marco