Glassfish 4.1.2 Java EE functionalities - JMS
1. Glassfish and Java EE Support Matrix
http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html
2. Java EE – JMS Programming Models
Java EE 5 – Glassfish 2.x
Java EE 6 – Glassfish 3.x
Java EE 7 – Glassfish 4.x
Java EE 8 – Glassfish 5.x
3. Examples – (NetBeans/Maven/Eclipse/IDEA X Simple/Advanced/High Performance & Scalable)
https://github.com/javaee/tutorial-examples
a. Write Simple JMS Applications
i. Start JMS Provider - Glassfish Server (1 server running 2 domains – one for Server Side and Client Side sending messages; and one for Client Side receiving messages)
ii. Creating JMS Administered Objects
1) A connection factory
2) Two destination resources: a topic and a queue.
Commands:
asadmin list-jms-resources (Java EE java:comp/DefaultJMSConnectionFactory
is mapped to a connection factory named jms/__defaultConnectionFactory
)
asadmin add-resources glassfish-resources.xml
C:\Java\Servers\glassfish-4.1.2\glassfish4>bin\asadmin.bat add-resources C:\Java\temp\glassfish-resources.xml
Administered object jms/MyQueue created.
Administered object jms/MyTopic created.
Command add-resources executed successfully.
# this can be created manually
C:\Java\Servers\glassfish-4.1.2\glassfish4>bin\asadmin.bat list-jms-resources
jms/MyQueue
jms/MyTopic
jms/__defaultConnectionFactory
Command list-jms-resources executed successfully.
iii. Creating a JMSContext
iv. Creating message producers and consumers
v. Sending and receiving messages
Run Producer:
C:\Java\Servers\glassfish-4.1.2\glassfish4\glassfish>bin\appclient -client c:\Java\temp\javatutorial.jar -mainclass javaeetutorial.producer.Producer queue 3000
Run Sync Consumer:
C:\Java\Servers\glassfish-4.1.2\glassfish4\glassfish>bin\appclient -client c:\Java\temp\javatutorial.jar -mainclass javaeetutorial.syncconsumer.SyncConsumer queue
vi. Check current messages in Destination
Using 3rd party tools – JMSToolBox
Define the session - OpenMQ:
Default port: 7676
Default User id: admin
Default Password: admin
User id and Password can be confirmed bin below command.
c:\Java\Servers\glassfish-4.1.2\glassfish4\mq>..\bin\asadmin.bat get server.jms-service.*
server.jms-service.jms-host.default_JMS_host.admin-password=admin
server.jms-service.jms-host.default_JMS_host.admin-user-name=admin
server.jms-service.jms-host.default_JMS_host.host=localhost
server.jms-service.jms-host.default_JMS_host.lazy-init=true
server.jms-service.jms-host.default_JMS_host.name=default_JMS_host
server.jms-service.jms-host.default_JMS_host.port=${JMS_PROVIDER_PORT}
server.jms-service.addresslist-behavior=random
server.jms-service.addresslist-iterations=3
server.jms-service.default-jms-host=default_JMS_host
server.jms-service.init-timeout-in-seconds=60
server.jms-service.reconnect-attempts=3
server.jms-service.reconnect-enabled=true
server.jms-service.reconnect-interval-in-seconds=5
server.jms-service.type=EMBEDDED
Command get executed successfully.
Using command line utilty
c:\Java\Servers\glassfish-4.1.2\glassfish4\mq>bin\imqcmd list dst
Username: admin
Password:
Listing all the destinations on the broker specified by:
-------------------------
Host Primary Port
-------------------------
localhost 7676
---------------------------------------------------------------------------------------------------------
Name Type State Producers Consumers Msgs
Total Wildcard Total Wildcard Count Remote UnAck InDelay Avg Size
---------------------------------------------------------------------------------------------------------
PhysicalQueue Queue RUNNING 0 - 0 - 9007 0 0 0 165.61519
PhysicalTopic Topic RUNNING 0 0 1 0 100 0 100 0 163.92
mq.sys.dmq Queue RUNNING 0 - 0 - 0 0 0 0 0.0
Successfully listed destinations.
c:\Java\Servers\glassfish-4.1.2\glassfish4\mq>
vii. Other types of clients
1) Async Consumer
2) Consumer with Acknowledgement
3) QueueBrowser
b. Writing More Advanced Examples
i. Using Durable Subscriptions
ii. Using Local Transactions
c. Writing High Performance and Scalable JMS Applications
i. Using Shared Nondurable Subscriptions
ii. Using Shared Durable Subscriptions
d. Using JMS in Web Applications
e. Using JMS in Enterprise Applications
Comments
Post a Comment