JMS message de taille

Je suis actuellement en train de travailler sur la limitation de bande passante fonctionnalité (ne me demandez pas pourquoi, ce n'est pas ma décision) pour l'application de laquelle l'utilisation de JMS (framework Spring JMS et Active MQ savoir), à l'envoi de messages avec une charge utile entre le serveur et les clients.

J'ai trouvé beaucoup de limitation des méthodes pour limiter les messages JMS (mais aucun d'entre eux basée sur la bande passante réelle de la charge), mais je n'ai pas trouver un moyen de limiter les flux de messages. J'ai donc décidé d'écrire Seau percé algorithme sur mon propre.

Est-il une façon comment obtenir la taille de JMS message? Autre que "sizeof" mise en œuvre en Java (En Java, ce qui est la meilleure façon de déterminer la taille d'un objet?)

Pourquoi ne pas limiter message entrant de flux assez - qui ActiveMQ vous permet de le faire avec l'utilisation de producerFlowControl et memoryLimits sur les destinations. Je suis curieux de savoir pourquoi vous voulez limiter les messages sortants. De plus ne serait pas de ce genre de chose être mieux contrôlés à partir d'un certain genre d'application delivery controller assis en face de votre courtier (en supposant que vous même avez cette option).
Notre client souhaite limiter la bande passante en sortie de producteurs (disons, les clients ont à 100 mbits de bande passante, mais il souhaitez utiliser seulement 10 mbit). Ça me rend fou. JMS est faite pour fournir des messages dès que possible, de sorte que je ne comprends pas vraiment cette demande. Mais, malheureusement, ce n'est pas sur ma décision.

OriginalL'auteur Sorceror | 2011-08-17