package org.openamq.client; public class IdFactory { private Object[] _locks = new Object[1]; private short[] _counters = new short[1]; private static final int CHANNEL_ID = 0; public IdFactory() { for (int i = 0; i < _locks.length; i++) { _locks[i] = new Object(); // need to initialise our ids to 1 _counters[i] = 1; } } public short getChannelId() { synchronized (_locks[CHANNEL_ID]) { return _counters[CHANNEL_ID]++; } } }