use of org.glassfish.grizzly.config.dom.Http in project Payara by payara.
the class TransactionListenerTest method transactionEvents.
@Test
public void transactionEvents() throws Exception, TransactionFailure {
httpService = getHabitat().getService(HttpService.class);
NetworkConfig networkConfig = getHabitat().getService(NetworkConfig.class);
final NetworkListener netListener = networkConfig.getNetworkListeners().getNetworkListener().get(0);
final Http http = netListener.findHttpProtocol().getHttp();
final TransactionListener listener = new TransactionListener() {
public void transactionCommited(List<PropertyChangeEvent> changes) {
events = changes;
}
public void unprocessedTransactedEvents(List<UnprocessedChangeEvents> changes) {
}
};
Transactions transactions = getHabitat().getService(Transactions.class);
try {
transactions.addTransactionsListener(listener);
assertTrue(httpService != null);
logger.fine("Max connections = " + http.getMaxConnections());
ConfigSupport.apply(new SingleConfigCode<Http>() {
public Object run(Http param) {
param.setMaxConnections("500");
return null;
}
}, http);
assertTrue("500".equals(http.getMaxConnections()));
transactions.waitForDrain();
assertTrue(events != null);
logger.fine("Number of events " + events.size());
assertTrue(events.size() == 1);
PropertyChangeEvent event = events.iterator().next();
assertTrue("max-connections".equals(event.getPropertyName()));
assertTrue("500".equals(event.getNewValue().toString()));
assertTrue("250".equals(event.getOldValue().toString()));
} catch (Exception t) {
t.printStackTrace();
throw t;
} finally {
transactions.removeTransactionsListener(listener);
}
// put back the right values in the domain to avoid test collisions
ConfigSupport.apply(new SingleConfigCode<Http>() {
public Object run(Http param) {
param.setMaxConnections("250");
return null;
}
}, http);
}
Aggregations