Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ jobs:
name: "Build & UTs: JDK ${{ matrix.Java }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java: [ '8', '11', '17' ]
java: [ '8', '11', '17', '21', '22', '23', '24', '25' ]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
Expand All @@ -33,7 +34,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '8', '11', '17' ]
java: [ '8', '11', '17', '21', '25' ]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
Expand Down Expand Up @@ -92,7 +93,7 @@ jobs:

- name: Upload broker logs as artifacts
if: failure()
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: broker_logs_${{ matrix.java }}
path: /tmp/bmq-broker/broker_logs.tar.gz
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package com.bloomberg.bmq.impl.infr.msg;

public class ControlMessageChoice {
public final class ControlMessageChoice {

private Integer rId;
private Status status;
Expand All @@ -40,150 +40,150 @@ public Object createNewInstance() {
return new ControlMessageChoice();
}

public final void reset() {
public void reset() {
init();
}

public final void makeStatus() {
public void makeStatus() {
reset();
status = new Status();
}

public final void makeOpenQueue() {
public void makeOpenQueue() {
reset();
openQueue = new OpenQueue();
}

public final void makeOpenQueueResponse() {
public void makeOpenQueueResponse() {
reset();
openQueueResponse = new OpenQueueResponse();
}

public final void makeConfigureQueueStream() {
public void makeConfigureQueueStream() {
reset();
configureQueueStream = new ConfigureQueueStream();
}

public final void makeConfigureQueueStreamResponse() {
public void makeConfigureQueueStreamResponse() {
reset();
configureQueueStreamResponse = new ConfigureQueueStreamResponse();
}

public final void makeConfigureStream() {
public void makeConfigureStream() {
reset();
configureStream = new ConfigureStream();
}

public final void makeConfigureStreamResponse() {
public void makeConfigureStreamResponse() {
reset();
configureStreamResponse = new ConfigureStreamResponse();
}

public final void makeCloseQueue() {
public void makeCloseQueue() {
reset();
closeQueue = new CloseQueue();
}

public final void makeCloseQueueResponse() {
public void makeCloseQueueResponse() {
reset();
closeQueueResponse = new CloseQueueResponse();
}

public final void makeDisconnect() {
public void makeDisconnect() {
reset();
disconnect = new Disconnect();
}

public final void makeDisconnectResponse() {
public void makeDisconnectResponse() {
reset();
disconnectResponse = new DisconnectResponse();
}

public final boolean isStatusValue() {
public boolean isStatusValue() {
return status != null;
}

public final boolean isOpenQueueValue() {
public boolean isOpenQueueValue() {
return openQueue != null;
}

public final boolean isOpenQueueResponseValue() {
public boolean isOpenQueueResponseValue() {
return openQueueResponse != null;
}

public final boolean isDisconnectValue() {
public boolean isDisconnectValue() {
return disconnect != null;
}

public final boolean isDisconnectResponseValue() {
public boolean isDisconnectResponseValue() {
return disconnectResponse != null;
}

public final boolean isConfigureQueueStreamValue() {
public boolean isConfigureQueueStreamValue() {
return configureQueueStream != null;
}

public final boolean isConfigureQueueStreamResponseValue() {
public boolean isConfigureQueueStreamResponseValue() {
return configureQueueStreamResponse != null;
}

public final boolean isConfigureStreamValue() {
public boolean isConfigureStreamValue() {
return configureStream != null;
}

public final boolean isConfigureStreamResponseValue() {
public boolean isConfigureStreamResponseValue() {
return configureStreamResponse != null;
}

public final boolean isCloseQueueValue() {
public boolean isCloseQueueValue() {
return closeQueue != null;
}

public final boolean isCloseQueueResponseValue() {
public boolean isCloseQueueResponseValue() {
return closeQueueResponse != null;
}

public final Status status() {
public Status status() {
return status;
}

public final OpenQueue openQueue() {
public OpenQueue openQueue() {
return openQueue;
}

public final OpenQueueResponse openQueueResponse() {
public OpenQueueResponse openQueueResponse() {
return openQueueResponse;
}

public final ConfigureQueueStream configureQueueStream() {
public ConfigureQueueStream configureQueueStream() {
return configureQueueStream;
}

public final ConfigureQueueStreamResponse configureQueueStreamResponse() {
public ConfigureQueueStreamResponse configureQueueStreamResponse() {
return configureQueueStreamResponse;
}

public final ConfigureStream configureStream() {
public ConfigureStream configureStream() {
return configureStream;
}

public final ConfigureStreamResponse configureStreamResponse() {
public ConfigureStreamResponse configureStreamResponse() {
return configureStreamResponse;
}

public final CloseQueue closeQueue() {
public CloseQueue closeQueue() {
return closeQueue;
}

public final CloseQueueResponse closeQueueResponse() {
public CloseQueueResponse closeQueueResponse() {
return closeQueueResponse;
}

public final Disconnect disconnect() {
public Disconnect disconnect() {
return disconnect;
}

public final DisconnectResponse disconnectResponse() {
public DisconnectResponse disconnectResponse() {
return disconnectResponse;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
package com.bloomberg.bmq.impl.infr.msg;

public class NegotiationMessageChoice {
public final class NegotiationMessageChoice {

private ClientIdentity clientIdentity;
private BrokerResponse brokerResponse;
Expand All @@ -28,33 +28,33 @@ public Object createNewInstance() {
return new NegotiationMessageChoice();
}

public final void reset() {
public void reset() {
init();
}

public final void makeClientIdentity() {
public void makeClientIdentity() {
reset();
clientIdentity = new ClientIdentity();
}

public final void makeBrokerResponse() {
public void makeBrokerResponse() {
reset();
brokerResponse = new BrokerResponse();
}

public final boolean isClientIdentityValue() {
public boolean isClientIdentityValue() {
return clientIdentity != null;
}

public final boolean isBrokerResponseValue() {
public boolean isBrokerResponseValue() {
return brokerResponse != null;
}

public final ClientIdentity clientIdentity() {
public ClientIdentity clientIdentity() {
return clientIdentity;
}

public final BrokerResponse brokerResponse() {
public BrokerResponse brokerResponse() {
return brokerResponse;
}

Expand All @@ -63,7 +63,7 @@ public void init() {
brokerResponse = null;
}

public final void reset(NegotiationMessageChoice copied) {
public void reset(NegotiationMessageChoice copied) {
clientIdentity = copied.clientIdentity;
brokerResponse = copied.brokerResponse;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ public class AckEventImpl extends EventImpl {
final AckHeader header;
final Collection<AckMessageImpl> messages = new ArrayList<>();

@SuppressWarnings(
"this-escape") // passing `this` to `AckMessageIterator` is necessary to fully construct
// `this`
public AckEventImpl(ByteBuffer[] bbuf) {
super(EventType.ACK, bbuf);
AckMessageIterator it = new AckMessageIterator(this);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class AckHeader implements Streamable {
public final class AckHeader implements Streamable {
// This class represents header for an 'ACK' event. An 'ACK' event is the
// event sent by the broker to a client in response to a post message on
// queue. Such event is optional, depending on flags used at queue open.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import com.bloomberg.bmq.impl.infr.util.BitUtil;
import java.io.IOException;

public class AckMessageImpl implements Streamable {
public final class AckMessageImpl implements Streamable {
// This class defines the (repeated) payload following the 'AckHeader'
// struct.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ public class AckMessageIterator extends MessageIterator implements Iterator<AckM

private AckHeader header;

@SuppressWarnings(
"this-escape") // isValid() and event() are `final` and call no non-final methods
public AckMessageIterator(EventImpl ev) {
super(ev);
if (isValid()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public BinaryMessageProperty() {
super(PropertyType.BINARY, MessagePropertyHeader.MAX_PROPERTY_VALUE_LENGTH);
}

@SuppressWarnings("this-escape") // setPropertyValue() is `final` and calls no non-final methods
public BinaryMessageProperty(byte[] val) {
this();
setPropertyValue(val);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public BoolMessageProperty() {
super(PropertyType.BOOL, Byte.SIZE);
}

@SuppressWarnings("this-escape") // setPropertyValue() is `final` and calls no non-final methods
public BoolMessageProperty(boolean val) {
this();
byte[] b = {(byte) (val ? 1 : 0)};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public ByteMessageProperty() {
super(PropertyType.BYTE, Byte.SIZE);
}

@SuppressWarnings("this-escape") // setPropertyValue() is `final` and calls no non-final methods
public ByteMessageProperty(byte val) {
this();
byte[] b = {val};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import com.bloomberg.bmq.impl.infr.util.BitUtil;
import java.io.IOException;

public class ConfirmHeader implements Streamable {
public final class ConfirmHeader implements Streamable {
// This class represents header for a 'CONFIRM' event. A 'CONFIRM' event
// is the event sent by a client to the broker to signify it's done
// processing a specific message and the broker can dispose of it.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class ConfirmMessageIterator extends MessageIterator {
public final class ConfirmMessageIterator extends MessageIterator {

static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public class Crc32c {
// Warn if Java version > 1.8 is used.
// The warning record is logged only in situation if SDK was built with
// JDK8 but is used with newer one e.g. JDK11
if (SystemUtil.getJavaVersion().compareTo(SystemUtil.JavaVersion.JAVA_8) > 0) {
if (!SystemUtil.isJava8()) {
logger.warn("*** [NOTE] Starting from JDK9 switch to java.util.zip.CRC32C ***");
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ protected EventBuilder(EventType type) {
reset(type);
}

public void reset(EventType type) {
public final void reset(EventType type) {
eventHeader = new EventHeader();
eventHeader.setType(type);
msgCount = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class EventHeader {
public final class EventHeader {
static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());

// This class represents the header for all the events received by the
Expand Down Expand Up @@ -252,7 +252,7 @@ public void setControlEventEncodingType(EncodingType type) {

byte typeAsByte = (byte) (type.toInt());
// Set those bits to represent 'type'
typeSpecificUpdate |= (typeAsByte << CONTROL_EVENT_ENCODING_START_IDX);
typeSpecificUpdate |= (byte) (typeAsByte << CONTROL_EVENT_ENCODING_START_IDX);

setTypeSpecific(typeSpecificUpdate);
}
Expand Down
Loading
Loading