Sunday, March 29, 2009

Install findbugs plugin with Ganymede

Today I was trying to install findbugs plugin (1.3.820090315) with Ganymede 3.4.1. When installing using the update site, I got error saying unable to extrac zip file from a temporary location and the installation failed. I suspect this is probabaly because that the file path to the zip file is too long and windows can not handle it. The way I got around it is to download the plugin zip file from here. Unzip it and copy the folder into the plugin folder of eclipse. Then I tried to install the plugin using the update site again and this time it did not try to download and unzip the file because it is already in the plugin folder. It just simply configured meta data and the result is: it worked!

Hope this helps. Feel free to leave any comments.

Monday, December 22, 2008

Installing Weblogic server 10.3 on Ubuntu Jeos

I've been having some compatibility issues with weblogic server 10.0 and sun jdk 1.6. The issues are encountered when I was trying to create new jms server and modules. So after a bit of investigation, I decided to upgrade to 10.3 and stay with jdk 1.6.

1. Download server103_generic.jar file.
2. Follow the same steps described in the previous post, but this time, choose custom installation. I had to tell installer not to install any workshop related stuff, otherwise it would ask for home directory of Eclipse.
3. I installed 10.3 into a different bea home than the one used before.

Didn't have any other issues during installation and after 15 mins, I had weblogic 10.3 running in sun jdk1.6 on ubuntu jeos 8.04.1!

Thursday, December 18, 2008

Getting Weblogic server 10 running on Ubuntu Jeos

I recently had a play with Weblogic server 10 on Ubuntu Jeos 8.04. I was surprised with how easy it was to install weblogic onto ubuntu, especially after working with heavy weight opmn managed oracle oc4j server. Here are the steps:

1. Install Ubuntu Jeos.
2. Install Samba
sudo apt-get install samba
configure your ubuntu account to be samba account.
3. Install Sun JDK 6.
sudo apt-get install sun-java6-jdk (This automatically set the env variables and configure your path).

4. Download weblogic installation file. Make sure you download the generic version (server1001_generic.jar).
5. Refer to the installation document.
http://e-docs.bea.com/common/docs100/install/console.html
6. I install weblogic into my user home folder. This is the easy option as the permissions on files are alreay configured.

7. To create a new weblogic domain, run sudo WEBLOGIC_HOME/common/bin/config.sh. Make sure that the script is run as a root user, otherwise it will hang.

The whole experience was very smooth. And the installation was very very easy.

Have to give a big thumb to the support of weblogic on Linux!

Monday, December 15, 2008

Configure http connection timeout in CXF

CXF is a great open source web service engine. The things that I like most are

1. Strong integration with Spring framework.
2. Solid support for maven.
3. Highly configuratble.

When we develop web services with cxf, quite often, we want to be able to control the http timeout settings in the web service engine. It's very easy to do this in CXF. what you need is:

1. Create a cxf.xml file and put it on your classpath.
2. Add the following configurations:

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
xsi:schemaLocation="http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">

<http-conf:conduit
name="{urn:transurban:glide:accountgateway:readtokens}ReadTokensPort.http-conduit">
<http-conf:client ConnectionTimeout="30000" ReceiveTimeout="6000"/>
</http-conf:conduit>
</beans>

Note that the configuration is based on the port type defined in wsdl. This way, you can have different timeout settings for different web services. The most important setting here is "ReceiveTimeout". This indicates how long the engine will wait for http response before it throws exceptions.

Oracle BPEL - Synchronous web service invocation timeout

There seems to be a default http timeout configured in Oracle BPEL for synchronous web service calls. According to the docs, there are a few places where you can make changes that might affect the timeout used at runtime. The end results of my testing seem to be dependent on the BPEL PM versions. The followings are what I have done to set the timeout for 10.1.3.3.0

A few posts you might want to have a look first

http://forums.oracle.com/forums/thread.jspa?messageID=2827600�
http://acevedodamian.blogspot.com/2008/11/synchronous-invocation-timeout-not.html

With 10.1.3.3.0, to get it to work, add the timeout settings to the partnerlink. This determines how long the process receive will wait for the response before throwing timeout exceptions. "timeout" property seems to be the only thing that dictates the timeout time. The syncMaxWaitTime is ignored.