[Info-vax] ActiveMQ on VMS Alpha
Arne Vajhøj
arne at vajhoej.dk
Sun Dec 11 22:04:47 EST 2022
On 12/11/2022 10:01 PM, Arne Vajhøj wrote:
> Topic came up in recent discussion.
>
> VSI has ActiveMQ 5.15-0 (almost recent, latest is 5.17.2) for VMS I64,
> but nothing for VMS Alpha.
>
> For obvious reasons. VMS I64 has a somewhat recent Java 8. VMS Alpha
> only got Java 5 (2004!).
>
> But ActiveMQ is an old product so I assumed there would be a
> version that ran on Java 5.
>
> And there was. ActiveMQ 5.4.3 comes build for Java 5.
>
> And it can be made running on VMS.
>
> The binary dist copied to VMS with all jar files and
> XML config files.
>
> activemq.com:
>
> $ define/nolog java$filename_controls 8
> $ define/nolog decc$efs_charset true
> $ define/nolog java$filename_match_list
> "*.data=shr=get,put","*.log=shr=get,put"
> $ activemq_home = "/disk2/arne/amq"
> $ java "-Xmx512m" -jar "''activemq_home'/bin/run.jar" start
> $ exit
>
> (the shr=get,put thing is necessary because the KahaDB code
> does some really funky stuff by opening some files twice both
> as "rw" and "r" using java.io.RandomAccessFile)
>
> One code hack needed. To avoid a weird error I had to rebuild
> kahadb-5_4_3.jar with a hacked
> org.apache.kahadb.journal.DataFileAppender specifically
> with line 395 outcommented:
>
> //file.getFD().sync();
>
> (I suspect there is some subtle bug in VMS Java 5)
>
> OpenWire clients worked (tested with Java).
>
> For STOMP clients I had to add STOMP connector
> to activemq.xml (one would need to do that on any
> platform) and have the client connect using
> STOMP 1.0 (not 1.1 or 1.2), but then it
> worked (tested with Python)
>
> This is the recipe in case someone want to use
> ActiveMQ on VMS Alpha.
>
> Maybe I should create a kit to make it easier.
There are a few minor issues left. The Jetty component
in ActiveMQ tend to leave some temporary directory with
files. When run interactively and CTRL/Y'ed the process
tend to hang (and have to do STOP/ID=0).
Arne
More information about the Info-vax
mailing list