It seems like the ActimeMQ documentation ( http://activemq.apache.org/configuring-wire-formats.html) is wrong with respect to the default maxFrameSize being MAX_LONG. I checked ActiveMQ source code and the default is 100 MB:
public final class OpenWireFormat implements WireFormat { public static final int DEFAULT_VERSION = CommandTypes.PROTOCOL_STORE_VERSION; public static final int DEFAULT_WIRE_VERSION = CommandTypes.PROTOCOL_VERSION; public static final int *DEFAULT_MAX_FRAME_SIZE* = 100 * 1024 * 1024; //100 MB <------------------------------------- static final byte NULL_TYPE = CommandTypes.NULL; private static final int MARSHAL_CACHE_SIZE = Short.MAX_VALUE / 2; private static final int MARSHAL_CACHE_FREE_SPACE = 100; The UIMA-AS doesnt set this value so the default is being used unless overriden. It seems to me that either your service or a client is not overriding the default. Please check your deployment descriptors to make sure that you changing the default in the brokerURL. Jerry On Wed, Feb 12, 2014 at 9:21 AM, Mihaela M <mmihaela1...@yahoo.com> wrote: > Hello, > > I have upgraded uima-as to version 2.4.2 but I still encounter an issue > with the wireFormat.maxFrameSize setting for the ActiveMQ broker. > 1. I have updated the configuration for transport connector in > activemq.xml file: > <transportConnectors> > <transportConnector name="openwire" uri="tcp:// > 127.0.0.1:61616?wireFormat.maxInactivityDuration=0&wireFormat.maxFrameSize=209715200&jms.useCompression=true > "/> > </transportConnectors> > 2. I have set the brokerURL attribute in uima-as deployment descriptors to > value: "tcp:// > 127.0.0.1:61616?wireFormat.maxInactivityDuration=0&wireFormat.maxFrameSize=209715200&jms.useCompression=true > " > 3. I have set the TRACE level for logger org.apache.activemq.transport > > After performing all the above settings I noticed that when I started the > pipeline, for each remote delegate, multiple negotiations are performed > by org.apache.activemq.transport.WireFormatNegotiator. All use the > maxFrameSize of 200 MB that I specified, except one negotiation that is > done using maxFrameSize of 100 MB. > I do not understand from where does come this limitation of 100 MB. Does > exist in the UIMA client? By default I saw that ActiveMQ is using MAX_LONG > for maxFrameSize so I really don't know from where does come this 100 MB > setting for maxFrameSize. > > Does anyone have an idea why is happening this? Could somebody tell me a > starting point for looking in the uima code? > > > On the other hand does anybody know whether there are some limitations > when using the "binary" serializer for remote delegates instead of "xmi" > serializer? I found in one jira issue ( > https://issues.apache.org/jira/browse/UIMA-1196) that for the "binary" > serializer is mandatory that all uima AS services use a common type system. > Is this still an issue in uima-as 2.4.2? > > Thank you! > Mihaela > > > > > On Monday, January 27, 2014 4:30 PM, Eddie Epstein <eaepst...@gmail.com> > wrote: > > On Thu, Jan 23, 2014 at 9:28 AM, Thomas Ginter <thomas.gin...@utah.edu > >wrote: > > > It is likely then that your expansion is happening after the remote > > service is called or else is not yet big enough to be over the 100MB > limit. > > > > Also note that by default UIMA-AS [Java] services use a delta-CAS > interface. Only changes to the CAS > are returned from a service. > > Besides deleting unnecessary FS from the final CAS to be returned, another > option to consider is to use compression on JMS messages: > jms.useCompression=true > This decoration can be added to the broker configuration file, > $UIMA_HOME/amq/conf/activemq-nojournal.xml > > as > <transportConnector name="openwire" uri="tcp:// > 0.0.0.0:61616?jms.useCompression=true"/> > which will cause messages in all queues to be compressed. > > Eddie >