static boolean isDefinitelyImmutableInfo(Class<?> implClass) { if (!NotificationBroadcaster.class.isAssignableFrom(implClass)) return true; synchronized (definitelyImmutable) { Boolean immutable = definitelyImmutable.get(implClass); if (immutable == null) { final Class<NotificationBroadcasterSupport> nbs = NotificationBroadcasterSupport.class; if (nbs.isAssignableFrom(implClass)) { try { Method m = implClass.getMethod("getNotificationInfo"); immutable = (m.getDeclaringClass() == nbs); } catch (Exception e) { // Too bad, we'll say no for now. return false; } } else immutable = false; definitelyImmutable.put(implClass, immutable); } return immutable; } }
/** * Controls the way the CommunicatorServer service is deserialized. */ private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { // Call the default deserialization of the object. // stream.defaultReadObject(); // Call the specific initialization for the CommunicatorServer service. // This is for transient structures to be initialized to specific // default values. // stateLock = new Object(); state = OFFLINE; stopRequested = false; servedClientCount = 0; clientHandlerVector = new Vector<>(); mainThread = null; notifCount = 0; notifInfos = null; notifBroadcaster = new NotificationBroadcasterSupport(); dbgTag = makeDebugTag(); }
/** * Create a new StandardContext component with the default basic Valve. */ public StandardContext() { super(); // this.start(); // Where.amI(); // WhereAmI.print(); pipeline.setBasic(new StandardContextValve()); broadcaster = new NotificationBroadcasterSupport(); // Set defaults if (!Globals.STRICT_SERVLET_COMPLIANCE) { // Strict servlet compliance requires all extension mapped servlets // to be checked against welcome files resourceOnlyServlets.add("jsp"); } }
public ActiveMQServerControlImpl(final PostOffice postOffice, final Configuration configuration, final ResourceManager resourceManager, final RemotingService remotingService, final ActiveMQServer messagingServer, final MessageCounterManager messageCounterManager, final StorageManager storageManager, final NotificationBroadcasterSupport broadcaster) throws Exception { super(ActiveMQServerControl.class, storageManager); this.postOffice = postOffice; this.configuration = configuration; this.resourceManager = resourceManager; this.remotingService = remotingService; server = messagingServer; this.messageCounterManager = messageCounterManager; this.broadcaster = broadcaster; server.getManagementService().addNotificationListener(this); }
/** * Controls the way the CommunicatorServer service is deserialized. */ private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { // Call the default deserialization of the object. // stream.defaultReadObject(); // Call the specific initialization for the CommunicatorServer service. // This is for transient structures to be initialized to specific // default values. // stateLock = new Object(); state = OFFLINE; stopRequested = false; servedClientCount = 0; clientHandlerVector = new Vector<ClientHandler>(); fatherThread = Thread.currentThread(); mainThread = null; notifCount = 0; notifInfos = null; notifBroadcaster = new NotificationBroadcasterSupport(); dbgTag = makeDebugTag(); }
/** * Create a new StandardContext component with the default basic Valve. */ public StandardContext() { super(); pipeline.setBasic(new StandardContextValve()); broadcaster = new NotificationBroadcasterSupport(); // Set defaults if (!Globals.STRICT_SERVLET_COMPLIANCE) { // Strict servlet compliance requires all extension mapped servlets // to be checked against welcome files resourceOnlyServlets.add("jsp"); } }
/** * Create a new StandardWrapper component with the default basic Valve. */ public StandardWrapper() { super(); swValve=new StandardWrapperValve(); pipeline.setBasic(swValve); broadcaster = new NotificationBroadcasterSupport(); }
/** * Create a new StandardContext component with the default basic Valve. */ public StandardContext() { super(); pipeline.setBasic(new StandardContextValve()); broadcaster = new NotificationBroadcasterSupport(); }
private void initTransients() { rmbscMap = new WeakHashMap<Subject, WeakReference<MBeanServerConnection>>(); connected = false; terminated = false; connectionBroadcaster = new NotificationBroadcasterSupport(); }
/** * * @param member member to which this MBean belongs * @param objectName ObjectName of the MBean * @param monitoringRegion corresponding MonitoringRegion * @throws IntrospectionException * @throws ClassNotFoundException */ private MBeanProxyInvocationHandler(DistributedMember member, ObjectName objectName, Region<String, Object> monitoringRegion, boolean isMXBean) throws IntrospectionException, ClassNotFoundException { this.member = member; this.objectName = objectName; this.monitoringRegion = monitoringRegion; this.emitter = new NotificationBroadcasterSupport(); this.proxyImpl = new ProxyInterfaceImpl(); this.isMXBean = isMXBean; }
public CacheServerMembershipListenerAdapter( NotificationBroadcasterSupport serverLevelNotifEmitter, NotificationBroadcasterSupport memberLevelNotifEmitter, ObjectName serverSource) { this.serverLevelNotifEmitter = serverLevelNotifEmitter; this.memberLevelNotifEmitter = memberLevelNotifEmitter; this.serverSource = serverSource.toString(); }
/** * Constructs a new {@code DirectoryScanner}. * <p>This constructor is * package protected, and this MBean cannot be created by a remote * client, because it needs a reference to the {@link ResultLogManager}, * which cannot be provided from remote. * </p> * <p>This is a conscious design choice: {@code DirectoryScanner} MBeans * are expected to be completely managed (created, registered, unregistered) * by the {@link ScanManager} which does provide this reference. * </p> * * @param config This {@code DirectoryScanner} configuration. * @param logManager The info log manager with which to log the info * records. * @throws IllegalArgumentException if one of the parameter is null, or if * the provided {@code config} doesn't have its {@code name} set, * or if the {@link DirectoryScannerConfig#getRootDirectory * root directory} provided in the {@code config} is not acceptable * (not provided or not found or not readable, etc...). **/ public DirectoryScanner(DirectoryScannerConfig config, ResultLogManager logManager) throws IllegalArgumentException { if (logManager == null) throw new IllegalArgumentException("log=null"); if (config == null) throw new IllegalArgumentException("config=null"); if (config.getName() == null) throw new IllegalArgumentException("config.name=null"); broadcaster = new NotificationBroadcasterSupport(); // Clone the config: ensure data encapsulation. // this.config = XmlConfigUtils.xmlClone(config); // Checks that the provided root directory is valid. // Throws IllegalArgumentException if it isn't. // rootFile = validateRoot(config.getRootDirectory()); // Initialize the Set<Action> for which this DirectoryScanner // is configured. // if (config.getActions() == null) actions = Collections.emptySet(); else actions = EnumSet.copyOf(Arrays.asList(config.getActions())); this.logManager = logManager; }
/** * Create a new ScanManager MBean **/ public ScanManager() { broadcaster = new NotificationBroadcasterSupport(); pendingNotifs = new LinkedBlockingQueue<Notification>(100); scanmap = newConcurrentHashMap(); configmap = newConcurrentHashMap(); log = new ResultLogManager(); }
/** * Create a new StandardWrapper component with the default basic Valve. */ public StandardWrapper() { super(); swValve = new StandardWrapperValve(); pipeline.setBasic(swValve); broadcaster = new NotificationBroadcasterSupport(); }