Friday, February 8, 2013

How to clean up Instance data for a given BPEL Process Instance ID from Apache ODE/WSO2 BPS

This is a stored procedure that can be used to delete all the instance related data from the DB for a particular BPEL instance.

Thursday, February 7, 2013

How to find BPEL Process Instance ID from Correlation Property Value in Apache ODE/WSO2 BPS

This is a small SQL query to retrieve Process Instance ID from the DB, when we know a Correlation Property Value, for a simple case where the correlation set consists of only one property.

SELECT PROCESS_INSTANCE_ID FROM ODE_SCOPE WHERE SCOPE_ID IN (SELECT cs.SCOPE_ID FROM ODE_CORRELATION_SET cs WHERE cs.CORRELATION_SET_ID IN (SELECT os.CORRSET_ID FROM ODE_CORSET_PROP os WHERE os.PROP_VALUE='$CORR_PROP'));

Here, use the respective correlation property value instead of $CORR_PROP

Thursday, November 15, 2012

Using Log4j MDC (Mapped Diagnostic Context) in an Axis2 module

Mapped Diagnostic Context (MDC) is a thread-local key-value store that can be accessed from a Log4j conversion pattern. It can be used very effectively in web applications where one log serves several clients or users, to differentiate the log statements related to each client or request. In this example, the service a message is destined to, will be logged right next to the time of the log message, as the variable "service" in the MDC (referenced by %X). To make this work, you can put the Service name into the MDC, using the static method MDC.put(key, value).
MDC.put("service",messageContext.getAxisService().toString());
To use the MDC, you have to put a placeholder into the respective Log4j conversion pattern in lib/log4j.properties:
log4j.appender.CARBON_CONSOLE.layout.ConversionPattern=[%d{ISO8601}] [%X{service}] %5p - %c{1} - %m%n

Friday, October 26, 2012

Setting charset of JVM to UTF-8 for WSO2 Products

To set the charset of JVM during startup by passing file.encoding system property add the following line to bin/wso2server.sh under $JAVA_OPTS.
-Dfile.encoding=UTF-8 \
For more info, read: Supported Encodings

Tuesday, October 9, 2012

Starting OSGi console when WSO2 Carbon runs in daemon mode

In the $CARBON_HOME/repository/conf/wrapper.conf file, add the following line to the 'Java Additional Parameters' section.
wrapper.java.additional.11=-DosgiConsole=<telnet-port>

After starting Carbon with these settings, connect to the OSGi Console using telnet as follows.
telnet <ip address> <telnet-port>

To learn more about using the OSGi Console, refer:

Tuesday, August 7, 2012

Quick WSO2 Tip: How to build any WSO2 product from source

Checkout orbit, kernel, and platform.
svn co https://svn.wso2.org/repos/wso2/carbon/orbit/trunk/ orbit
svn co https://svn.wso2.org/repos/wso2/carbon/kernel/trunk/ kernel
svn co https://svn.wso2.org/repos/wso2/carbon/platform/trunk/ platform
Build in the order (orbit -> kernel -> platform), using maven3.
mvn clean install
Hat tip: http://wso2.org

A quick way to append your public keys to a remote server's Authorized Keys File

The basic steps are:

  1. Create an RSA key-pair.
  2. Copy the public key to the remote server.
  3. Add the public key to the authorized_keys file on the remote server. 

For generating the key use the command
ssh-keygen -t rsa
The following command does the steps 2 and 3.
ssh-copy-id user@host