Customization of Jive Messenger

Hi Folks,

I want to customize the Jive Messenger and built a small chatting network as a part of my project. I am using jdk1.5 and Tomcat 5.0

I have re-build the jive messenger 2.1.5 source code using some build.bat file. Now, when I try to access the “index.jsp” page, the browser displays below given error. Also, the contents of log shows that tomcat throws some errors at the time of loading the “Jive Messenger” web application, as given below.

  1. Browser Error ###########

java.lang.IllegalStateException

org.apache.coyote.tomcat5.CoyoteResponseFacade.sendRedirect(CoyoteResponseF acade.java:352)

org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:88)

  1. Log Report ###########

2005-06-23 10:50:48 StandardContext[/jive_messenger2_1_5]Marking servlet PluginServlet as unavailable

2005-06-23 10:50:48 StandardContext[/jive_messenger2_1_5]Servlet /jive_messenger2_1_5 threw load() exception

javax.servlet.ServletException: Error instantiating servlet class org.jivesoftware.messenger.container.PluginServlet

at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:996)

at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862)

at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:401 3)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4357)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)

at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java :277)

at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)

at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:687)

at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432)

at org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)

at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)

at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.j ava:119)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)

at org.apache.catalina.core.StandardService.start(StandardService.java:480)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)

at org.apache.catalina.startup.Catalina.start(Catalina.java:556)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)


Root Cause


java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader

at java.lang.Class.getDeclaredConstructors0(Native Method)

at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)

at java.lang.Class.getConstructor0(Class.java:2640)

at java.lang.Class.newInstance0(Class.java:321)

at java.lang.Class.newInstance(Class.java:303)

at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:987)

at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862)

at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:401 3)

at org.apache.catalina.core.StandardContext.start(StandardContext.java:4357)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)

at org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java :277)

at org.apache.catalina.core.StandardHost.install(StandardHost.java:832)

at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:687)

at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432)

at org.apache.catalina.startup.HostConfig.start(HostConfig.java:968)

at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)

at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.j ava:119)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)

at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)

at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)

at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)

at org.apache.catalina.core.StandardService.start(StandardService.java:480)

at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)

at org.apache.catalina.startup.Catalina.start(Catalina.java:556)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)

2005-06-23 10:50:49 StandardContext[/jsp-examples]ContextListener: contextInitialized()

2005-06-23 10:50:49 StandardContext[/jsp-examples]SessionListener: contextInitialized()

2005-06-23 10:50:49 StandardContext[/servlets-examples]ContextListener: contextInitialized()

2005-06-23 10:50:49 StandardContext[/servlets-examples]SessionListener: contextInitialized()

######################################################

I would appreciate your help. Thanks for you valuable time for reading this … and thanks in advance if you could help me out.

Regards,

Sandeep

Hi Sandeep,

Looking at you stack trace it appears you’'re missing the dom4j libraries when you go to start Messenger. Are you using the build.xml file that came with the source to compile Messenger?

Thanks,

Ryan

Thank you Ryan,

No, I do not know how to build using build.xml file. I got some build.bat file from my friend and I followed his instructions to build this application. It made some chat.jar file. May be it has not completly build the application.

Could you plz guide me in building this application using given build.xml file. It would be great help from you.

Thanks once again and waiting for your reply.

Sandeep

Hi Sandeep,

Check out my basic build guide I posted a couple of months back:

http://www.jivesoftware.org/forums/thread.jspa?threadID=14170

Let me know if you have any questions.

Thanks,

Ryan

Thanks Ryan,

by mistake I replied to the post of Priya, as I found dat one similar to what i was looking out for.

Sorry for putting similar post on the forum, i did that bcos i wanted to get different replies so that my problem can be solved as quickly as possible.

Now, that i have build the source code, i do not know what to do next, and has to wait till you reply to this.

My main aim is to update the functionalities given by this messenger. I am going to use MySql database. I just want to see this messenger up and running in my tomcat server.

I am totally new to open source developement, I am sorry for taking your time.

Please guide me what should i do next, what directory structure i will have to create and other issues if involved.

Hope to get help from you as i proceed further.

Thanks a million

Sandeep

Hi Sandeep,

Sorry for putting similar post on the forum, i did

that bcos i wanted to get different replies so that

my problem can be solved as quickly as possible.

No problem.

Now, that i have build the source code, i do not know

what to do next, and has to wait till you reply to

this.

My main aim is to update the functionalities given by

this messenger. I am going to use MySql database. I

just want to see this messenger up and running in my

tomcat server.

I’‘ve never tried to setup Messenger to work with Tomcat so I’‘m not sure how much help I’'ll be able to provide. Is there a particular reason why you want to run Messenger in Tomcat?

Thanks,

Ryan

Hi Ryan,

Thanks for the reply.

I am very much familiar with Tomcat, thats the reason I wanted to implment this in tomcat.

I only want to customise this messenger, by using readilly available API’'s. I am also open to work with the web-server on which you have implemented this messenger.

Your guidence will definitely help me to achieve my goal… so please tell me what should I do next…

Awaiting for your reply…

Thanks,

Sandeep

Hi Sandeep,

Since Messenger is designed to run as a standalone application I would suggest you just plan on using it as one. If you are determined to try and use Tomcat I would start off by looking at the “war” target in the ant build script. You might also want to try searching these forums and try to contact some of the other people who have tried to integrate Messenger and Tomcat, although I am not sure how successful any of them have been.

Hope that helps,

Ryan

Hi Ryan,

Thanks for the reply…

I just want to check the load that Jive Messenger can handle at time, so as to form a small community. I want to get the maximum connections Jive Messanger server can support at a given instance.

I do not want to change the existing JM source code rather I want to create new classes by extending the available classes and add functionalities as per the needs.

This is only possible if I load the compiled source code locally in the web server (I am familier with tomcat so I am using tomcat5.0.27 for implementation)

I am sure there must be some members who are also working on similar lines, if you know any of them, then please forward this to them. It would be great help from you.

Thanks again for your needy help and time,

Sandeep Raul

Hey Sandeep,

Just an update…you can download the latest nightly build and run “ant war”. You can then drop the war file in the webapps folder. So far I tried JM as as webapp in Resin 3 and Tomcat 5.

You will need to set the messengerHome folder. To do so you can:

. Copy the target\war\messengerHome to c:\install\messengerHome

. Create a file named messenger_init.xml under webapps\messenger\WEB-INF\classes

. Set this content C:
install
messengerHome and save the file

. Enjoy

Regards,

– Gato

Just an update…you can download the latest nightly

build and run “ant war”. You can then drop the war

file in the webapps folder.

Very cool! I would think this will make a lot of people very happy.

Cool, that was the intention.

Regards,

– Gato