E 'possibile utilizzare HornetQ i fagioli senza JNDI (anche se è dietro alcuni astrazione) ...?
-
14-10-2019 - |
Domanda
Il mio problema originale è un tentativo di scoprire e incorporare HornetQ con un minimo di dipendenze.
Un elemento che vorrei evitare è la necessità di JNDI. Credo che dovrebbe essere possibile individuare tutti gli oggetti direttamente, piuttosto che fare la cosa localizzatore jndi.
Io non sono un fan di JNDI perché sembra di essere come un secchio globale di merda, in cui si ha la necessità di tenere traccia dei nomi, assicurarsi essi non conflitto w / altre cose e così via, molte cose che sembrano male quando si ricorda che astrazioni buoni fanno un minimo pubblico indispensabile.
A proposito questo non è un rant solo un'osservazione di carattere generale ...
Soluzione
Ho trovato una risposta alla mia q durante la navigazione gli esempi particolarmente EmbeddedExample.java che dice "sì" Si può non ha bisogno di JNDI ..
// Step 1. Create the Configuration, and set the properties accordingly
Configuration configuration = new ConfigurationImpl();
configuration.setPersistenceEnabled(false);
configuration.setSecurityEnabled(false);
configuration.getAcceptorConfigurations().add(new TransportConfiguration(InVMAcceptorFactory.class.getName()));
// Step 2. Create and start the server
HornetQServer server = HornetQServers.newHornetQServer(configuration);
server.start();
// Step 3. As we are not using a JNDI environment we instantiate the objects directly
ClientSessionFactory sf = HornetQClient.createClientSessionFactory(new TransportConfiguration(InVMConnectorFactory.class.getName()));
// Step 4. Create a core queue
ClientSession coreSession = sf.createSession(false, false, false);