Sunday, September 20, 2009

Installing ApacheDS on Unbuntu

Environment
  • Ubuntu - Jaunty Jackalope
  • 64 bit Architecture
Right now the "Basic User Guide" in the ApacheDS site is not up-to-date. So here is how to install ApacheDS on Ubuntu
  1. Download the "Linux Binary Installer - Linux x86_64" of ApacheDS from http://directory.apache.org/apacheds/1.5/download/download-linux-bin.html.
  2. Change the permissions of the file as follows.
     chmod u+x apacheds-1.5.5-x86_64.bin
  3. Change to root and run the installer as follows. I picked the default proposed installation directories.
    ./apacheds-1.5.5-x86_64.bin
  4. Now the task is to locate the "startp script". If you picked the defaults while installing, it can be found in the /etc/init.d directory. Search for a file containing the name *apacheds*. In my case the start-up script was renamed as "apacheds-1.5.5-default". Now give the command as following as root.

    /etc/init.d/apacheds-1.5.5-default start

Initially when I tried to install, I faced the following problem since the start-up script was renamed to "apacheds-1.5.5-default". This trivial information was lacking in the "Apache DS Basic User Guide".
/etc/init.d/apacheds: No such file or directory

Tuesday, September 15, 2009

WSO2 ESB : AnonymousEndpoint has been marked for SUSPENSION, but no further retries remain

Are you are running WSO2ESB and receiving this error "AnonymousEndpoint has been marked for SUSPENSION, but no further retries remain" printed on console? This error occurs when trying to send the message again. If this error prints in the console repetitively, then WSO2ESB is trying send messages repetitively. So inspect "<syn:send/>" elements in the synapse config, and it may not be required.

Here is a scenario I ran into.

I am using WSO2ESB-2.1.1(or later) and trying to re-use an old synapse configuration. I am trying to use a proxy service.

In the synapse configuration, I have target endpoint specified in the proxy service, so <syn:send> is not required according to new rules. So when I removed <syn:send/> from the synapse config's inSequence it worked beautifully. BTW .. you have to restart the server.

Tuesday, September 8, 2009

Neethi Builders - XmlPrimtiveAssertion

When you build neethi Assertions, do you find instances of "org.apache.neethi.builders.xml.XmlPrimtiveAssertion" instead of proper Assertions? The issue is that your runtime has not picked up the "org.apache.neethi.builders.AssertionBuilder" file inside the META-INF/services directory. This problem mostly occur in old versions of Eclipse or in OSGI environment. So check if you have added the META-INF directory that contains the "org.apache.neethi.builders.AssertionBuilder" file to your classpath.

If you want to know the technical details, then please refer how Apache Neethi implemented the http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html#Service at org.apache.neethi.util.Service.java .

Wednesday, June 10, 2009

Thursday, May 28, 2009

Key Signing Party

What a geekish party to have!!! That is one of the coolest geeky things I've heard. But I lost my PGP key sometime back when I formatted the hard disk. I forgot to backup.

Read all about the party here.

Friday, May 1, 2009

Decoupling the UI from Backend

The "minimal change prorogation" can be used as a verification test for loose coupling. I've been struggling to handle changes in a core component when it suddenly occurred to me that, "dhhaa tightly coupled". The changes propagated to the UI. The problem is that I have used the information experts to send data to the UI.

So I added a new rule to my experience. Use another set of classes called "Data Transfer Object" to transfer data to the UI. Problem solved!

Wednesday, April 29, 2009

Tabs vs Spaces - Code Formatting

Do you format code with tabs or spaces? It is not an a question of what is pretty. There is more to the story. I would like to quote from[1]

"On defaultly-configured Unix systems, and on ancient dumb terminals and teletypes, the tradition has been for the TAB character to mean move to the right until the current column is a multiple of 8. This is also the default in the two most popular Unix editors, Emacs and vi.

In many Windows and Mac editors, the default interpretation is the same, except that multiples of 4 are used instead of multiples of 8."

The code formatted on Windows using tabs look hideous on Unix, while if you use spaces it will be uniform on all operating systems.

[1] http://www.codinghorror.com/blog/archives/001254.html