Giter VIP home page Giter VIP logo

gozirra's Introduction

This is a fork of the Gozirra 0.4.1 project.



== Original README:

Home page: http://www.germane-software.com/software/Gozirra

Gozirra is a lightweight implementation of the Stomp specification[1].  As
of the first release it includes both client and server implementations for
Java.

I made a conscious choice to use only Java 1.4 syntax here, because the 
project that I originally developed this for was being deployed on 1.4
VMs.

The overarching goal of this project is to provide an ultra-light messaging
mechanism.


BUILDING

Uses Jakarta Ant.  You build one of: all-jar, server-only-jar, or
client-only-jar depending on what you're using it for.

  * client-only-jar Produces a 8kb jarball.  Useful for applications
    that only want to be able to connect via a network to a Stomp server.
  * server-only-jar Produces a 12.5kb jarball.  Useful for
    applications that want to run a server, but don't need the client
    class.  Right now, this doesn't gain you much over the all-jar, but
    I'll refactor with factories and it'll get a bit smaller in future
    versions.
  * all-jar Produces a 13.5kb jarball.  Contains both the client and server
    codes.


USAGE

See doc/index.html and java/Test.java for examples.


INCOMPLETENESS

The Stomp protocol is still growing, unfortunately.  There are a couple of
features which I haven't yet, and may never, implement.  The outstanding
features, as of this writing, are:

  1) Named transactions
     I'll implement this, eventually... I just don't have any use for it at 
     the moment, so it isn't high on my list.
  2) content-length
     I disapprove of this addition to the spec, but it weaseled its way
     in.  content-length is a header for binary messages, and Stomp is a text
     oriented protocol.  I may add support for this, but don't hold your breath.
  3) Alternate encodings, via the content-type header
     Again, no use to me but I'll add it in sooner or later.  I know it is 
     important for the non-english speaking world.
  4) ACK
     ACK is to the server what the receipt header is to the client.  I don't
     see the need for it unless you're implementing an email server.  Gozirra 
     will probably not implement ACK.

ACK and content-length: are bordering on gratuitous bloat, and I disagree
with their inclusion in the spec.  If the Stomp protocol gets any more bloated, 
I may just freeze this project.  If I wanted a heavy protocol, I'd use Jabber.
There are people out there who want to make Stomp a full-fledged mechanism for
JMI; if that happens, I'll fork the spec.  Seriously.  If you want to be fat,
slow, and dumb, go ahead and pig out on potato chips, but leave the specs
alone.

For the moment, I'm leaving content-length and ACK out.  If the Stomp protocol
doesn't change in the next several months (6-12), I'll probably go ahead and
implement them, for completeness.  If the Spec continues it's trend toward
accepting all lard proposals, then I won't -- I'll fork the spec as it stands.



[1] http://docs.codehaus.org/display/STOMP/Home

gozirra's People

Contributors

pedroteixeira avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.