Qualcuno sa se è possibile creare un argomento e il relativo factory di connessione in modo problematico? Attualmente uso l'utilità di amministrazione glassfish per creare il mio argomento e il suo factory di connessione. Se non riesco a crearlo in codice, glassfish/openmq hanno un argomento di default e conn factory che posso usare?Come creare jms Topic e TopicConnectionFactory in modo programmatico?
risposta
Se si desidera aggirare la creazione manuale delle risorse solo nell'amministratore, è possibile semplicemente distribuirle con il file "glassfish-resources.xml" (GF 3.1, vedere http://docs.oracle.com/cd/E18930_01/html/821-2417/giyhh.html).
È necessario un admin-oggetto-risorsa come questo (un argomento):
<admin-object-resource enabled="true" jndi-name="jms/myTopic"
object-type="user" res-adapter="jmsra" res-type="javax.jms.Topic">
<property name="Name" value="physicalTopic"/>
</admin-object-resource>
essere consapevoli del fatto che è necessario utilizzare i valori "Nome" diverse per il soggetto (qui: "physicalTopic") se implementa più argomenti i cui messaggi non devono essere confusi.
Inoltre è necessario un connettore-risorsa che fa riferimento a un pool di connessione connettore di tipo javax.jms.TopicConnectionFactory.
Se non si mira alla creazione dinamica di risorse utilizzando il descrittore di distribuzione glassfish-resources.xml sembra essere il modo migliore.
Si prega di notare che le risorse impiegate in questo modo sono applicazioni di ambito: http://docs.oracle.com/cd/E18930_01/html/821-2417/giydj.html
"GlassFish-resources.xml" è il file per il GF 3.x, per GF 2.x era "sun-resources.xml ". Il file si trova nella cartella "Risorse del server" nella vista del progetto se si utilizza NetBeans. Attenzione: il file glassfish-resources.xml in "Risorse del server" viene utilizzato solo da NetBeans se si utilizza NetBeans per la distribuzione! NetBeans sa come creare queste risorse e svolge questo compito. Se distribuisce direttamente un orecchio a GlassFish senza NetBeans - che sembra molto probabile per un ambiente di produzione - è necessario fornire GlassFish-resources.xml in:
- META-INF del modulo EJB o WEB -INF della tua GUERRA per risorse con ambito modulo
- META-INF della tua applicazione aziendale per risorse a livello di applicazione In NetBeans puoi farlo inserendo il file nella cartella "Configuration Files" della tua vista progetto (che è src/conf/nel file system).
È possibile creare facilmente questa definizione di risorsa utilizzando la procedura guidata [Nuovo messaggio guidato da Bean] di NetBeans (è sufficiente aggiungere un MBean selezionando [Nuovo ...]). Nella procedura guidata scegli "Destinazioni progetto"> [Aggiungi]. Un completo 3.1 esempio si presenta così:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
<admin-object-resource enabled="true" jndi-name="jms/myDestination" res-type="javax.jms.Topic" res-adapter="jmsra">
<property name="Name" value="PhysicalTopic"/>
</admin-object-resource>
<connector-connection-pool name="jms/myDestinationFactoryPool" connection-definition-name="javax.jms.TopicConnectionFactory" resource-adapter-name="jmsra"/>
<connector-resource enabled="true" jndi-name="jms/myDestinationFactory" pool-name="jms/myDestinationFactoryPool" />
</resources>
Questo è l'annotazione MBean:
@MessageDriven(mappedName = "java:app/jms/myDestination", activationConfig =
{
@ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
@ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "Durable"),
@ActivationConfigProperty(propertyName = "clientId", propertyValue = "NewMessageBean"),
@ActivationConfigProperty(propertyName = "subscriptionName", propertyValue = "NewMessageBean")
})
public class NewMessageBean implements MessageListener
{
[...]
Attenzione: "java: app /" in mappedName è corretto solo se si utilizza risorse dell'applicazione ambito. Puoi risparmiare "java: app /" nella definizione in glassfish-resources.xml. La guida alla distribuzione di GF dice: "I nomi JNDI delle risorse con ambito applicazione iniziano con java: app o java: module.Se uno di questi prefissi non è specificato nel nome JNDI, viene aggiunto."
È inoltre possibile introdurre un altro livello di riferimento indiretto utilizzando "nome" anziché "mappedName". È quindi necessario fornire un file denominato "application-client.xml" in cui il nome (logico) viene mappato a una posizione "fisica" JNDI.
- 1. Come creare NSPopover in modo programmatico
- 2. Come creare i blocchi logici in modo programmatico in Blender?
- 3. Come creare una soluzione di Visual Studio in modo programmatico?
- 4. C'è un modo per configurare gli MDB in modo programmatico?
- 5. Creare NSScrollView in modo programmatico in un NSView - Cocoa
- 6. Creare pagina Web HTML in modo programmatico in C#
- 7. Disconnessione dal weblogic JMS
- 8. Come utilizzare in modo programmatico Spring's JdbcTemplate?
- 9. Come si crea ColorStateList in modo programmatico?
- 10. Creare il diagramma di flusso in modo programmatico
- 11. È possibile creare un'istanza di LocalDb denominata in modo programmatico?
- 12. Come creare e gestire in modo programmatico Google Forms tramite l'API dell'elenco documenti di Google
- 13. Come posso guidare Ansible in modo programmatico e simultaneo?
- 14. get topic from kafka message in spark
- 15. Come impostare alcune imeOptions in modo programmatico
- 16. evidenzia in modo programmatico UIBarButtonItem
- 17. Creare in modo programmatico connessioni ODBC e tabelle di collegamento in MS Access
- 18. Modo ideale per configurare una connessione JMS in modo che si ricolleghi automaticamente
- 19. Topic Modeling in MALLET vs NLTK
- 20. Come posso creare JSON in modo programmatico in XQuery in MarkLogic?
- 21. Creazione di viste in modo programmatico in IOS (come funziona)?
- 22. Eccezione JMS e ActiveMQ
- 23. Come ancorare in modo programmatico un nuovo elemento a DockPanel
- 24. Come creare una finestra WPF in modo programmatico in un'applicazione WinForm
- 25. C++ e JMS - come collegare i due?
- 26. Come trasformare il gruppo in file SVG in modo programmatico?
- 27. Come posiziono una tela in modo programmatico in Silverlight?
- 28. Formato in modo programmatico e indent generato automaticamente da Java
- 29. equivalente JMS in .Net
- 30. Come specificare adUnitId in modo programmatico per AdMob?
Grazie! Sapresti per caso dove ottengo la sintassi per aggiungere la risorsa factory di connessione al file glassfish-resources.xml? Inoltre non ho trovato un file glassfish-resources.xml nella mia directory di installazione. Dove dovrei attaccare questo file dopo ho capito come generarlo? Esiste uno pre esistente che posso modificare e forse imparare da? – simgineer