This commit is contained in:
@@ -28,12 +28,8 @@ public class MessageProducers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public MessageProducer getProducer(MessageRecord message) {
|
public MessageProducer getProducer(MessageRecord message) {
|
||||||
int hash;
|
int hash = message.hash();
|
||||||
if (message.getGroupid() != null && !message.getGroupid().isEmpty()) {
|
if (hash == 0) {
|
||||||
hash = message.getGroupid().hashCode();
|
|
||||||
} else if (message.getUserid() > 0) {
|
|
||||||
hash = message.getUserid();
|
|
||||||
} else {
|
|
||||||
hash = index.incrementAndGet();
|
hash = index.incrementAndGet();
|
||||||
if (index.get() > 1000 * producers.length) {
|
if (index.get() > 1000 * producers.length) {
|
||||||
synchronized (index) {
|
synchronized (index) {
|
||||||
|
|||||||
@@ -156,6 +156,16 @@ public class MessageRecord implements Serializable {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int hash() {
|
||||||
|
if (groupid != null && !groupid.isEmpty()) {
|
||||||
|
return groupid.hashCode();
|
||||||
|
} else if (userid > 0) {
|
||||||
|
return userid;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public MessageRecord version(int version) {
|
public MessageRecord version(int version) {
|
||||||
this.version = version;
|
this.version = version;
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
Reference in New Issue
Block a user