Ai-je besoin de synchronisation supplémentaire lors de l'utilisation d'un BlockingQueue?

J'ai un simple haricot @Entity Message.java qui a des propriétés standard. Le cycle de vie de l'objet est comme suit

Instanciation de Message arrive sur le Thread A, qui est ensuite mis en file d'attente dans un blockingQueue

Un autre thread à partir d'un pool obtient de l'objet et faire des trucs avec elle, et les changements de l'état de Message, après que, l'objet entre de nouveau dans la blockingQueue. Cette étape est répétée jusqu'à ce qu'une condition d'arrêt. Chaque fois que l'objet devient de lecture/écriture est potentiellement à partir d'un autre thread, mais avec la garantie qu'un seul thread à la fois de la lecture/écriture à elle.

Donné les circonstances, j'ai besoin de synchroniser les getters/setters ? Peut-être que les propriétés volatiles ? ou puis-je simplement laisser sans synchronisation ?

Merci et j'espère que je pourrais clarifier ce que je suis ici.