Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the "JNP" protocol?

Tags:

java

jnp

I see URLs like jnp://localhost:1099/ mentioned when reading about HornetQ. What is the jnp protocol? What does it stand for? Where is the specification?

All I could find was this forum thread, "What is JNP", in which the question does not get answered.

like image 382
jameshfisher Avatar asked Nov 10 '14 11:11

jameshfisher


1 Answers

In short, JNP is the official JNDI naming implementation of JBoss AS prior to its version < 7.x, based on the JNP project (refer to the code repo URL).

From the new AS7 documentation:

Previous versions of JBoss AS (versions < 7.x) used JNP project as the JNDI naming implementation. Developers of client applications of previous versions of JBoss AS will be familiar with the jnp:// PROVIDER_URL URL they used to use in their applications for communicating with the JNDI server on the JBoss server.

Starting AS7, the JNP project is not used. Neither on the server side nor on the client side. The client side of the JNP project has now been replaced by jboss-remote-naming project.

There were various reasons why the JNP client was replaced by jboss-remote-naming project. One of them was the JNP project did not allow fine grained security configurations while communicating with the JNDI server. The jboss-remote-naming project is backed by the jboss-remoting project which allows much more and better control over security.

Its specification is poor, most of the references we find about it are located at JBoss docs prior to the version 7, like in https://docs.jboss.org/jbossas/jboss4guide/r1/html/ch3.chapter.html

like image 145
diogo Avatar answered Nov 17 '22 23:11

diogo