mirror of
https://github.com/apache/activemq.git
synced 2025-03-06 16:09:25 +00:00
Check for security error on responses and log a warning so there is a record of the event
This commit is contained in:
parent
25f1fe8460
commit
707940f1a6
@ -20,7 +20,13 @@ import java.io.EOFException;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.SocketException;
|
import java.net.SocketException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.util.*;
|
import java.util.Collection;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Properties;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
@ -31,10 +37,44 @@ import java.util.concurrent.atomic.AtomicReference;
|
|||||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||||
|
|
||||||
import javax.transaction.xa.XAResource;
|
import javax.transaction.xa.XAResource;
|
||||||
|
|
||||||
import org.apache.activemq.advisory.AdvisorySupport;
|
import org.apache.activemq.advisory.AdvisorySupport;
|
||||||
import org.apache.activemq.broker.region.ConnectionStatistics;
|
import org.apache.activemq.broker.region.ConnectionStatistics;
|
||||||
import org.apache.activemq.broker.region.RegionBroker;
|
import org.apache.activemq.broker.region.RegionBroker;
|
||||||
import org.apache.activemq.command.*;
|
import org.apache.activemq.command.ActiveMQDestination;
|
||||||
|
import org.apache.activemq.command.BrokerInfo;
|
||||||
|
import org.apache.activemq.command.Command;
|
||||||
|
import org.apache.activemq.command.CommandTypes;
|
||||||
|
import org.apache.activemq.command.ConnectionControl;
|
||||||
|
import org.apache.activemq.command.ConnectionError;
|
||||||
|
import org.apache.activemq.command.ConnectionId;
|
||||||
|
import org.apache.activemq.command.ConnectionInfo;
|
||||||
|
import org.apache.activemq.command.ConsumerControl;
|
||||||
|
import org.apache.activemq.command.ConsumerId;
|
||||||
|
import org.apache.activemq.command.ConsumerInfo;
|
||||||
|
import org.apache.activemq.command.ControlCommand;
|
||||||
|
import org.apache.activemq.command.DataArrayResponse;
|
||||||
|
import org.apache.activemq.command.DestinationInfo;
|
||||||
|
import org.apache.activemq.command.ExceptionResponse;
|
||||||
|
import org.apache.activemq.command.FlushCommand;
|
||||||
|
import org.apache.activemq.command.IntegerResponse;
|
||||||
|
import org.apache.activemq.command.KeepAliveInfo;
|
||||||
|
import org.apache.activemq.command.Message;
|
||||||
|
import org.apache.activemq.command.MessageAck;
|
||||||
|
import org.apache.activemq.command.MessageDispatch;
|
||||||
|
import org.apache.activemq.command.MessageDispatchNotification;
|
||||||
|
import org.apache.activemq.command.MessagePull;
|
||||||
|
import org.apache.activemq.command.ProducerAck;
|
||||||
|
import org.apache.activemq.command.ProducerId;
|
||||||
|
import org.apache.activemq.command.ProducerInfo;
|
||||||
|
import org.apache.activemq.command.RemoveSubscriptionInfo;
|
||||||
|
import org.apache.activemq.command.Response;
|
||||||
|
import org.apache.activemq.command.SessionId;
|
||||||
|
import org.apache.activemq.command.SessionInfo;
|
||||||
|
import org.apache.activemq.command.ShutdownInfo;
|
||||||
|
import org.apache.activemq.command.TransactionId;
|
||||||
|
import org.apache.activemq.command.TransactionInfo;
|
||||||
|
import org.apache.activemq.command.WireFormatInfo;
|
||||||
import org.apache.activemq.network.DemandForwardingBridge;
|
import org.apache.activemq.network.DemandForwardingBridge;
|
||||||
import org.apache.activemq.network.MBeanNetworkListener;
|
import org.apache.activemq.network.MBeanNetworkListener;
|
||||||
import org.apache.activemq.network.NetworkBridgeConfiguration;
|
import org.apache.activemq.network.NetworkBridgeConfiguration;
|
||||||
@ -307,6 +347,9 @@ public class TransportConnection implements Connection, Task, CommandVisitor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (responseRequired) {
|
if (responseRequired) {
|
||||||
|
if (e instanceof SecurityException || e.getCause() instanceof SecurityException) {
|
||||||
|
SERVICELOG.warn("Security Error occurred: {}", e.getMessage());
|
||||||
|
}
|
||||||
response = new ExceptionResponse(e);
|
response = new ExceptionResponse(e);
|
||||||
} else {
|
} else {
|
||||||
serviceException(e);
|
serviceException(e);
|
||||||
@ -378,6 +421,7 @@ public class TransportConnection implements Connection, Task, CommandVisitor {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public int getActiveTransactionCount() {
|
public int getActiveTransactionCount() {
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
for (TransportConnectionState cs : connectionStateRegister.listConnectionStates()) {
|
for (TransportConnectionState cs : connectionStateRegister.listConnectionStates()) {
|
||||||
@ -389,6 +433,7 @@ public class TransportConnection implements Connection, Task, CommandVisitor {
|
|||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Long getOldestActiveTransactionDuration() {
|
public Long getOldestActiveTransactionDuration() {
|
||||||
TransactionState oldestTX = null;
|
TransactionState oldestTX = null;
|
||||||
for (TransportConnectionState cs : connectionStateRegister.listConnectionStates()) {
|
for (TransportConnectionState cs : connectionStateRegister.listConnectionStates()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user