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

 

# 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

Popular posts from this blog

Create a new domain in Glassfish or Payara

Install multiple Java on macOS