Saturday, July 30, 2011

mvservice

UPDATE this project has been replaced by https://github.com/asharif/mv-session-mgr

This is finally the cumulation of a couple different projects for mvbase/PICK. It is a stand alone web application (with embedded jetty) that acts as a proxy between the desired mvbase server and the real world ....lol

Currently it provides 2 means of communication RESTful service and RMI

you start the server with java -jar (read the project readme file for command line args https://github.com/asharif/mv-wservice)

for RESTful you look at /mv/sub/{mvsubname}/{barseperatedmvparams} (eg. /mv/sub/hello/A|B)

It also provides JMX for managing the mvconnection beans (configuration is in the readme file)

Embedded Jetty

A lightweight embedded jetty project. Supports JSP 2.0 as well as log4j through slf4j. That's it!

https://github.com/asharif/embdjetty


To use in your project you download repo, compile with

mvn package

this creates a jar file with the good ol' '-with-dependencies'. that file is the server. You need to specify port on java -jar:

-Dport=8080

Now you can drop it in your favorite spring app, compile with the maven assembly plugin and you got a portable web app (well no embedded db but that's another story)

log4j across many dependencies through slf4j

I ran into a stupid problem that made me feel silly. I had a project that depended on a few jars that I myself had made using log4j. Well classloader issues arise if you just add them to classpath and try to run. different loaders load log4j. Hence why it is important to use slf4j and it's binding for log4j. I just added these in the pom and it was all good (scope depends on your project). Also, log4j files go under /src/main/resources in maven....that way they get copied to WEB-INF/classes/



org.slf4j
slf4j-api
1.6.1
runtime


org.slf4j
slf4j-log4j12
1.6.1
runtime


log4j
log4j
1.2.16
runtime