Setting P6 Eventing on WebLogic

Home/Installation, P6, WebLogic/Setting P6 Eventing on WebLogic

 

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

Pre-Requisite:

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

    020416_0551_SettingP6Ev1 Setting P6 Eventing on WebLogic

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

020416_0551_SettingP6Ev2 Setting P6 Eventing on WebLogic

Step2:

input name ‘P6Server’ in the name field and click Next

020416_0551_SettingP6Ev3 Setting P6 Eventing on WebLogic

Step3:

Click Create a New Store

020416_0551_SettingP6Ev4 Setting P6 Eventing on WebLogic

Step4:

Change type to ‘File Store’ and click Next

020416_0551_SettingP6Ev5 Setting P6 Eventing on WebLogic

Step5:

Input ‘P6FileStore’ in the name field and input a directory in the directory field, then click Next

020416_0551_SettingP6Ev6 Setting P6 Eventing on WebLogic

Step7:

Choose AdminServer and click Finish.

020416_0551_SettingP6Ev7 Setting P6 Eventing on WebLogic

Step8:

Choose the persistence store and click Next

020416_0551_SettingP6Ev8 Setting P6 Eventing on WebLogic

Step9:

Change the target to ‘AdminServer’ and click Finish

020416_0551_SettingP6Ev9 Setting P6 Eventing on WebLogic

Step10:

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 

WebLogic_JMSMODULE-1 Setting P6 Eventing on WebLogic

 

Step11:

Go back to WebLogic console >> Expand Services/Messaging >> click JMS Modules >> Click the P6SystemModule

020416_0551_SettingP6Ev10 Setting P6 Eventing on WebLogic

Step12:

Click New under summary or resource

020416_0551_SettingP6Ev11 Setting P6 Eventing on WebLogic

Step13:

Enable Connection Factory and click Next

020416_0551_SettingP6Ev12 Setting P6 Eventing on WebLogic

Step14;

Input name in the name field as ‘P6ConnectionFactory’ and input name in JNDI name as ‘P6JNDI’. Click Next

020416_0551_SettingP6Ev13 Setting P6 Eventing on WebLogic

Step15:

Make sure the AdminServer is enabled and click Finish.

Capture-300x241 Setting P6 Eventing on WebLogic

 

Step16 (JMS Queue and Sub-Deployment):

Go back to the WebLogic admin console >> Click the Module

020416_0551_SettingP6Ev15 Setting P6 Eventing on WebLogic

Step17:

Click New to create a Queue

020416_0551_SettingP6Ev16 Setting P6 Eventing on WebLogic

Step18:

Select the option Queue and click Next

020416_0551_SettingP6Ev17 Setting P6 Eventing on WebLogic

Step19:

Input name as P6Queue and JNDI name as P6QueueJNDI

020416_0551_SettingP6Ev18 Setting P6 Eventing on WebLogic

Step20:

Click the button CreateSubDeployement

020416_0551_SettingP6Ev19 Setting P6 Eventing on WebLogic

Step21:

Input name as ‘P6Queue’. Click Ok

020416_0551_SettingP6Ev20 Setting P6 Eventing on WebLogic

Create Queue

Step22:

Choose the sub deployments P6Queue and enable JMSServer P6Server. Click Finish.

020416_0551_SettingP6Ev21 Setting P6 Eventing on WebLogic

Step 23: 

Go to WebLogic Home >> Click on JMS Modules >> Click P6SystemModule. The configurations shows like below 

P6_JNDI_QUEUE Setting P6 Eventing on WebLogic

 

On P6 16.1 and Later 

 

Step1: 

Login into P6 >> Administrator >> Application Settings  >> Eventing & configure Eventing Services and Directory Services as shown below 

 

P6_15.2_P6_Eventing Setting P6 Eventing on WebLogic

 

Click on the Test Connection under Eventing  & make sure it is successful 

 

TestEventing Setting P6 Eventing on WebLogic

 

Click on the Test Connection under Directory Services >> Make sure it is successful 

 

P6_Directory_Services Setting P6 Eventing on WebLogic

 

On P6 15.2 or lesser

 

Step1:

Open your P6 adminconfig URL. I.e., HTTP://HOSTNAME:PORT/p6/action/adminconfig. Expand the configuration >> Database >> instance >> Eventing and input the following properties

Enabled: True

JMS Connection Factory: P6JNDI

JMS Destination Name: P6QueueJNDI

Leave the remaining untouched.

020416_0551_SettingP6Ev22 Setting P6 Eventing on WebLogic

Step2:

Right click on the Configuration and click Configure

020416_0551_SettingP6Ev23 Setting P6 Eventing on WebLogic

Step3:

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.

020416_0551_SettingP6Ev24 Setting P6 Eventing on WebLogic

Step4:

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)

020416_0551_SettingP6Ev25 Setting P6 Eventing on WebLogic

Step5:

Click Save Changes

020416_0551_SettingP6Ev26 Setting P6 Eventing on WebLogic

 

Step6:

Right click on the Directory Service and click Test Connection,

020416_0551_SettingP6Ev27 Setting P6 Eventing on WebLogic

Step7:

Right click on the Eventing and click the Test connection,

020416_0551_SettingP6Ev28 Setting P6 Eventing on WebLogic

Testing P6 Eventing:

Step1:

Login into P6 >> Creates a Project

Step2:

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

020416_0551_SettingP6Ev29 Setting P6 Eventing on WebLogic

Step3:

Click the check box and click Show Message for the list of messages generated by P6 event

020416_0551_SettingP6Ev30 Setting P6 Eventing on WebLogic

Step4:

Click each link for the message

020416_0551_SettingP6Ev31 Setting P6 Eventing on WebLogic

 

That’s it. P6 Eventing is done. 

What Next

Write a listener class to consume the message present in the queue and process the data.

pgn Setting P6 Eventing on WebLogic

Govind

Thank you for visiting my personal blog. Myself Govindan, Software Developer by profession since 2006 and hence I started this blog early in 2016 and ever since I've been writing about technologies experienced and learnings of everyday life.

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 🙂
pgn Setting P6 Eventing on WebLogic
  • Ritu

    Very nice very informative..
    I have followed similar steps in P6 16.2. Eventing configuration is now available on p6 application. Though the parameters are same but I am getting error when trying to test connection on “eventing” tab. Error message says “Connection test failed.” Any idea what could be the reason?
    Thanks
    Ritu

    • Govindan Padmanaban

      Have you added the jar file in the class path as per the ‘Adding WebLogic server jar file’; If added then restart the P6 admin & managed server , test again;

      • Ritu

        Yes Done. But still same error 🙁

        • Ritu

          On P6WebAccess , this is the error:

          [ACTIVE] ExecuteThread: ‘3’ for queue: ‘weblogic.kernel.Default (self-tuning)’ ERROR com.primavera.rest.service.admin.ApplicationEventingService ?:? @#$%/rest/settings/eventGroup/testconnectionJMS (User Id: 91 DB Id: 1)
          com.primavera.PhoenixException: Unable to connect to message queue. Original message User: weblogic, failed to be authenticated.
          at com.primavera.infr.admin.EventingTester.testEventQueueConnection(Unknown Source)
          at com.primavera.rest.service.admin.ApplicationEventingService.testJMSConnection(ApplicationEventingService.java:95)
          at com.primavera.rest.service.admin.ApplicationSettingsDAOImpl.testJMSConnection(ApplicationSettingsDAOImpl.java:1087)
          at com.primavera.rest.resources.admin.settings.ApplicationSettingResource.testJMSConnection(ApplicationSettingResource.java:190)

          • Govindan Padmanaban

            I got the same error on 16.2 first & failed on second time; Then I log back in and tested, it works again. Totally clue less , Need to check with Oracle support.

            Create another WebLogic user and input that account in Directory Services and try again.

            To Create a WebLogic User:

            Login into WebLogic console >> Security Realms >> myrealm >> user and groups >> New >> (Create a user) >> Click the newly created user >> Groups >> Move Administrator from LEFT to RIGHT

Like us on Facebook.
Connect!