Showing posts with label lombardi. Show all posts
Showing posts with label lombardi. Show all posts

Friday, January 18, 2013

WebSphere Lombardi Edition on SQLServer 2010 - No message engine was found

I installed WebSphere Lombardi Edition 7.2 win32 edition using a Microsoft SQL Server 2010 database.

After installation the database tables and content were verified (the default users should be present, otherwise you cannot log in, see previous blogpost). All tables were created, with the data present.

However when starting the twprocsvr profile, the following stacktrace came up:
Caused by:
com.lombardisoftware.client.delegate.BusinessDelegateException: CWSIA0241E: An
exception was received during the call to the method
JmsManagedConnectionFactoryImpl.createConnection:
com.ibm.websphere.sib.exception.SIResourceException: CWSIT0008E: A successful
connection was made to the bootstrap server at
srv-lom-01:7277:BootstrapBasicMessaging but the server returned an error
condition: CWSIT0088E: There are currently no messaging engines in bus
twprocsvr_bus running. Additional failure information: CWSIT0103E: No messaging
engine was found that matched the following parameters: bus=twprocsvr_bus,
targetGroup=null, targetType=BusMember, targetSignificance=Preferred,
transportChain=InboundBasicMessaging, proximity=Bus..
at
com.lombardisoftware.client.delegate.BusinessDelegateException.asBusinessDelegateException(BusinessDelegateException.java:41)
at
com.lombardisoftware.client.delegate.common.WebsphereDelegateHelper.doAsCurrentSubjectContextSensitive(WebsphereDelegateHelper.java:132)
at
com.lombardisoftware.client.delegate.EventQueueManagerDelegateDefault.browseErrorQueue(EventQueueManagerDelegateDefault.java:70)
at
com.ibm._jsp._cs_5F_event_5F_mgr_5F_queue._jspService(_cs_5F_event_5F_mgr_5F_queue.java:230)
...
53 more

No message engine running? Hmm, let's check the administration console. twprocsvr profile has no administration console installed, so I started server1 profile for problem determination.

Turns out that the message engine on twprocsvr is configured to use the datasource configured, with schema 'sa'. This is the user used I specified for authentication. There is no schema 'sa' however, the default schema on SQLServer is 'dbo'. Therefore the message engine could not create the tables required for the message engine. They can be recognized by their prefix "SIB":


I found out by looking for SIB in the SystemOut after reading on the web that this error can be caused by invalid SIB* tables.

0000000d SibMessage    E   [twprocsvr_bus:ProcessCenter01.twprocsvr-twprocsvr_bus] CWSIS0002E: The messaging engine encountered an exception while starting. Exception: com.ibm.ws.sib.msgstore.PersistenceException: CWSIS1501E: The data source has produced an unexpected exception: com.jnetdirect.jsql.JSQLNonFatalException: The specified schema name "sa" either does not exist or you do not have permission to use it.

0000000d SibMessage    E   [twprocsvr_bus:ProcessCenter01.twprocsvr-twprocsvr_bus] CWSID0035E: Messaging engine ProcessCenter01.twprocsvr-twprocsvr_bus cannot be started; detected error reported during com.ibm.ws.sib.msgstore.impl.MessageStoreImpl start()

0000000d SibMessage    E   [twprocsvr_bus:ProcessCenter01.twprocsvr-twprocsvr_bus] CWSID0027E: Messaging engine ProcessCenter01.twprocsvr-twprocsvr_bus cannot be restarted because a serious error has been reported.

0000000d SibMessage    I   [twprocsvr_bus:ProcessCenter01.twprocsvr-twprocsvr_bus] CWSID0016I: Messaging engine ProcessCenter01.twprocsvr-twprocsvr_bus is in state Stopped.

0000000d SibMessage    I   [twprocsvr_bus:ProcessCenter01.twprocsvr-twprocsvr_bus] CWSID0016I: Messaging engine ProcessCenter01.twprocsvr-twprocsvr_bus is in state Joined.

0000000d SibMessage    E   [twprocsvr_bus:ProcessCenter01.twprocsvr-twprocsvr_bus] CWSID0039E: HAManager-initiated activation has failed, messaging engine ProcessCenter01.twprocsvr-twprocsvr_bus will be disabled. Reason Refer to earlier messages

I fixed it by adding a schema 'sa' to my database in sqlserver


I changed it on database level because I could not change the schema setting on the message engine, when logging in using the tw_admin user. Hmm, I have no credentials for wasadmin... only the default lombardi credentials.


Friday, November 9, 2012

Installing WebSphere Lombardi 7.2





I tried to install WebSphere Lombardi Edition 7.2 on a windows 32bit virtual machine. If I use the Simple Install option, it should install a db2 instance in the background, with the required databases and settings. The installation is successful and the process center server starts. However, I cannot log in with the default user tw_admin. Hmm, that's strange.



A new install, on a 64 bit windows machine this time. Make sure you got the 64 bit installer, the 32 bit installer gives errors halfway the installation on a windows 64 bit. This time I created two empty databases before installing on my local db2 express installation.

Once again, the installer says the installation was successful, and the process center server starts. Again, I cannot log in with tw_admin. What is wrong with it?

Luckily I came across this post where I learned that if the db2 database settings  (pagesize 32k, encoding utf-8) are not correct, the default data (including the usernames and passwords) will not be inserted. Because of that I could not login. If you choose SQLServer as database engine, no specific settings are required, it just works.

The table to check is LSW_USR, which should container 6 entries after installation completes. Entries in LSW_USR + this screen below = success



It is disappointing that the Simple Install does not work.


Wednesday, December 22, 2010

Modelling in WebSphere Lombardi: parallel paths and tokens

When modelling a process in the Lombardi authoring environment, it is possible that different paths are executed in parallel.
You can implement this using a gateway, as done here:

Running this process, will result in three process threads. In Lombardi they call these threads "tokens".
Using the inspector, the different tokens are visualized with red markers:
  (there is a bug here, activity 3 has no red marker, while it should have).

And you can see the different tokens in the execution state view:

 A process will end, when all tokens have finished an End Event, or when one token reaches a Terminate Event.

There are other ways to create and finish tokens. Using Intermediate Message Events you can start a new token somewhere else in your process, while releasing or not releasing previous tokens.

In this next example, an Intermediate Message Event will create an extra thread. If the "Close Attached Activity" property is not checked, the token in activity 1 will not move to activity 2 when the message arrives, but a second token will be created. This second token will move along the wire to activity 2.
If the "Close Attached Activity" is checked, the token will move along the wire. No new tokens will be created.

This is the result when testing this process in the Inspector:
When in activity 1, the message was sent. A new token moved to activity 2, the token that was at activity one stayed there. Again, there should be another red marker for the token in activity 1.