I beat on the ttmp wire format for ActiveMQ some more, connecting and sending messages work (see transcript!):
brianm@kite:~$ nc -v localhost 8899
localhost [127.0.0.1] 8899 (?) open
CONNECT
login: brian
passcode: wombat
^@
CONNECTED
session:ID:kite.local-63748-1123682509041-1:0
^C punt!
brianm@kite:~$ nc -v localhost 8899
localhost [127.0.0.1] 8899 (?) : Connection refused
brianm@kite:~$ nc -v localhost 8899
localhost [127.0.0.1] 8899 (?) open
CONNECT
login: brian
passcode: wombats
^@
CONNECTED
session:ID:kite.local-63760-1123682587710-1:0
SEND
destination: /queue/example
This is an example message, nothing fancy, an unfortunately... we won't see the result =(^@
^C punt!
brianm@kite:~$
Unfrotunately, while subscribing ~works (the consumer is pushed to activemq) I cannot seem to get ActiveMQ to actually feed messages into the protocol handler =( I am doing something wrong (as I can move messages using other protocols (and crossing from ttmp to ActiveMQ native is easy -- I am sending via ttmp and receiving via ActiveMQ's default tcp protocol -- tracing highly asynchronous, multi-threaded (and worse, select/ring-buffer style) code isn't easy.
Anyway, current working doc for the ttmp protocol will remain posted online.