Setting P6 Eventing on Weblogic 12C:
P6 Eventing is JMS queue events configured in WebLogic. P6 classified events into Business Events and Special events. Business Events are events trigger up any business objects get created or updated or deleted if configured. Here business objects mean Projects, Activities, WBS, Resource, Roles, UDF, Codes. Special events were events triggers when an action occurred in P6. Here actions are scheduling, job services, publisher, summarize, etc. This event appears in all the places like P6 Web, P6 API and P6 Web Services.
This section we walk through configuring P6 15.2 Events on WebLogic 12C. The configuration involves three steps:
- Setting events on WebLogic 12C
- Configuring P6 admin config
- Test p6 application
P6 Web should be running on Weblogic server.
Require Weblogic Console username and password
Adding WebLogic server jar file:
If you are opening P6 adminconfig from P6 Web and the application server is WebLogic, then the jar file is already present in your classpath.
If you open P6 adminconfig from desktop, then follow the steps
- Open command prompts in administrative mode
Change the directory to WebLogic_home/server/lib directory
- Cd WEBLOGIC_HOME\server\lib
Create the jar file
- Java -jar wlfullclient.jar
- Place the jar file in your ‘P6_HOME\p6\lib’ folder
Edit the file adminpv.cmd and add the jar file into the classpath as shown below
Configuring Event in Weblogic 12c:
Step-1: (JMS Connection Factory)
Login to the Weblogic console >> Click Lock & Edit >> Expand Services >> Expand Messaging >> Click JMS Servers >> Click New to create new JMS server
input name ‘P6Server’ in the name field and click Next
Click Create a New Store
Change type to ‘File Store’ and click Next
Input ‘P6FileStore’ in the name field and input a directory in the directory field, then click Next
Choose AdminServer and click Finish.
Choose the persistence store and click Next
Change the target to ‘AdminServer’ and click Finish
Expand the services >> JMS Modules >> New >> Create a Modile name P6SystemModule >> Click Next >> Select AdminServer as Target >> Click Next >> Toggle On Would you like to add resources to this JMS system module? >> Click Finish
Go back to WebLogic console >> Expand Services/Messaging >> click JMS Modules >> Click the P6SystemModule
Click New under summary or resource
Enable Connection Factory and click Next
Input name in the name field as ‘P6ConnectionFactory’ and input name in JNDI name as ‘P6JNDI’. Click Next
Make sure the AdminServer is enabled and click Finish.
Step16 (JMS Queue and Sub-Deployment):
Go back to the WebLogic admin console >> Click the Module
Click New to create a Queue
Select the option Queue and click Next
Input name as P6Queue and JNDI name as P6QueueJNDI
Click the button CreateSubDeployement
Input name as ‘P6Queue’. Click Ok
Choose the sub deployments P6Queue and enable JMSServer P6Server. Click Finish.
Go to WebLogic Home >> Click on JMS Modules >> Click P6SystemModule. The configurations shows like below
On P6 16.1 and Later
Login into P6 >> Administrator >> Application Settings >> Eventing & configure Eventing Services and Directory Services as shown below
Click on the Test Connection under Eventing & make sure it is successful
Click on the Test Connection under Directory Services >> Make sure it is successful
On P6 15.2 or lesser
Open your P6 adminconfig URL. I.e., HTTP://HOSTNAME:PORT/p6/action/adminconfig. Expand the configuration >> Database >> instance >> Eventing and input the following properties
JMS Connection Factory: P6JNDI
JMS Destination Name: P6QueueJNDI
Leave the remaining untouched.
Right click on the Configuration and click Configure
Here is where we need to enable the business events or special events. We have enabled Project Create event so an event will get generated whenever a project gets created in P6. Click Save Changes.
Enable Create check box for Project and click Ok. Later you configure the events needed for your application.
Now expand Directory Services under your configuration and set the properties
Provider URL: your WebLogic URL
Initial Context Factory: weblogic.jndi.WLInitialContextFactory
Security Principal: your WebLogic user name (default is WebLogic)
Security Credentials: Password for your WebLogic username
Security Level: Enter the security level
Lookup Name: P6JNDI (This is the JNDI name of the JMS Connection Factory)
Click Save Changes
Right click on the Directory Service and click Test Connection,
Right click on the Eventing and click the Test connection,
Testing P6 Eventing:
Login into P6 >> Creates a Project
Whenever a project gets created in P6, an event will generate an XML message saved in JMS Queue we created earlier.
Go to WebLogic Console >> Expand Services >> Messaging >> JMS Modules >> P6SystemModule >> P6Queue >> Click the tab Monitoring
Click the check box and click Show Message for the list of messages generated by P6 event
Click each link for the message
That’s it. P6 Eventing is done.
Write a listener class to consume the message present in the queue and process the data.
The views expressed on this blog are my personal views and do not necessarily reflect the views of my employer.
Please feeling free to reach me on any comments and feedbacks you have. Would be more than glad to listen and reply 🙂