You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by am...@apache.org on 2005/08/22 05:26:55 UTC
svn commit: r234422 - in /geronimo/trunk:
applications/console-core/src/java/org/apache/geronimo/console/util/
applications/console-framework/src/webapp/WEB-INF/data/
applications/console-standard/src/java/org/apache/geronimo/console/
applications/cons...
Author: ammulder
Date: Sun Aug 21 20:26:39 2005
New Revision: 234422
URL: http://svn.apache.org/viewcvs?rev=234422&view=rev
Log:
Add JMS management interfaces
Update to latest ActiveMQ GBean syntax
Add ActiveMQ management interfaces to o/a/g/Server dependencies
Add JMS Server section to web console, with broker/connector management
features
A few minor fixes to the web server management screens in the console
Added:
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/JMSBrokerPortlet.java
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/JMSConnectorPortlet.java
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/editGeneric.jsp
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/help.jsp
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/maximized.jsp
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/normal.jsp
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/help.jsp
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/maximized.jsp
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/normal.jsp
geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSBroker.java
geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSConnector.java
geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSManager.java
Modified:
geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java
geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/ManagementHelper.java
geronimo/trunk/applications/console-framework/src/webapp/WEB-INF/data/pageregistry.xml
geronimo/trunk/applications/console-framework/src/webapp/WEB-INF/data/portletentityregistry.xml
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/util/PortletManager.java
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/BaseWebPortlet.java
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/ConnectorPortlet.java
geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/WebManagerPortlet.java
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/portlet.xml
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/webmanager/connector/normal.jsp
geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/web.xml
geronimo/trunk/modules/assembly/project.xml
geronimo/trunk/modules/assembly/src/plan/j2ee-server-plan.xml
geronimo/trunk/modules/assembly/src/plan/system-activemq-plan.xml
geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/J2EEServerImpl.java
geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/J2EEServer.java
Modified: geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java (original)
+++ geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/KernelManagementHelper.java Sun Aug 21 20:26:39 2005
@@ -28,6 +28,9 @@
import org.apache.geronimo.management.geronimo.WebConnector;
import org.apache.geronimo.management.geronimo.EJBContainer;
import org.apache.geronimo.management.geronimo.EJBConnector;
+import org.apache.geronimo.management.geronimo.JMSManager;
+import org.apache.geronimo.management.geronimo.JMSBroker;
+import org.apache.geronimo.management.geronimo.JMSConnector;
import org.apache.geronimo.management.J2EEDomain;
import org.apache.geronimo.management.J2EEDeployedObject;
import org.apache.geronimo.management.AppClientModule;
@@ -316,6 +319,83 @@
String[] names = container.getConnectors();
Object[] temp = pm.createProxies(names, KernelManagementHelper.class.getClassLoader());
result = new EJBConnector[temp.length];
+ System.arraycopy(temp, 0, result, 0, temp.length);
+ } catch (Exception e) {
+ log.error("Unable to look up related GBean", e);
+ }
+ return result;
+ }
+
+ public JMSManager getJMSManager(J2EEServer server) {
+ JMSManager result = null;
+ try {
+ String name = server.getJMSManager();
+ Object temp = pm.createProxy(ObjectName.getInstance(name), KernelManagementHelper.class.getClassLoader());
+ result = (JMSManager)temp;
+ } catch (Exception e) {
+ log.error("Unable to look up related GBean", e);
+ }
+ return result;
+ }
+
+ public JMSBroker[] getJMSBrokers(JMSManager manager) {
+ JMSBroker[] result = null;
+ try {
+ String[] names = manager.getBrokers();
+ Object[] temp = pm.createProxies(names, KernelManagementHelper.class.getClassLoader());
+ result = new JMSBroker[temp.length];
+ System.arraycopy(temp, 0, result, 0, temp.length);
+ } catch (Exception e) {
+ log.error("Unable to look up related GBean", e);
+ }
+ return result;
+ }
+
+ public JMSConnector[] getJMSConnectors(JMSManager manager, String protocol) {
+ JMSConnector[] result = null;
+ try {
+ String[] names = manager.getConnectors(protocol);
+ Object[] temp = pm.createProxies(names, KernelManagementHelper.class.getClassLoader());
+ result = new JMSConnector[temp.length];
+ System.arraycopy(temp, 0, result, 0, temp.length);
+ } catch (Exception e) {
+ log.error("Unable to look up related GBean", e);
+ }
+ return result;
+ }
+
+ public JMSConnector[] getJMSConnectors(JMSManager manager) {
+ JMSConnector[] result = null;
+ try {
+ String[] names = manager.getConnectors();
+ Object[] temp = pm.createProxies(names, KernelManagementHelper.class.getClassLoader());
+ result = new JMSConnector[temp.length];
+ System.arraycopy(temp, 0, result, 0, temp.length);
+ } catch (Exception e) {
+ log.error("Unable to look up related GBean", e);
+ }
+ return result;
+ }
+
+ public JMSConnector[] getJMSConnectors(JMSManager manager, JMSBroker broker, String protocol) {
+ JMSConnector[] result = null;
+ try {
+ String[] names = manager.getBrokerConnectors(pm.getProxyTarget(broker).getCanonicalName(), protocol);
+ Object[] temp = pm.createProxies(names, KernelManagementHelper.class.getClassLoader());
+ result = new JMSConnector[temp.length];
+ System.arraycopy(temp, 0, result, 0, temp.length);
+ } catch (Exception e) {
+ log.error("Unable to look up related GBean", e);
+ }
+ return result;
+ }
+
+ public JMSConnector[] getJMSConnectors(JMSManager manager, JMSBroker broker) {
+ JMSConnector[] result = null;
+ try {
+ String[] names = manager.getBrokerConnectors(pm.getProxyTarget(broker).getCanonicalName());
+ Object[] temp = pm.createProxies(names, KernelManagementHelper.class.getClassLoader());
+ result = new JMSConnector[temp.length];
System.arraycopy(temp, 0, result, 0, temp.length);
} catch (Exception e) {
log.error("Unable to look up related GBean", e);
Modified: geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/ManagementHelper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/ManagementHelper.java?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/ManagementHelper.java (original)
+++ geronimo/trunk/applications/console-core/src/java/org/apache/geronimo/console/util/ManagementHelper.java Sun Aug 21 20:26:39 2005
@@ -41,6 +41,9 @@
import org.apache.geronimo.management.geronimo.WebConnector;
import org.apache.geronimo.management.geronimo.EJBConnector;
import org.apache.geronimo.management.geronimo.EJBContainer;
+import org.apache.geronimo.management.geronimo.JMSManager;
+import org.apache.geronimo.management.geronimo.JMSConnector;
+import org.apache.geronimo.management.geronimo.JMSBroker;
import org.apache.geronimo.system.logging.SystemLog;
import org.apache.geronimo.pool.GeronimoExecutor;
@@ -76,6 +79,12 @@
EJBContainer getEJBContainer(J2EEServer server);
EJBConnector[] getEJBConnectors(EJBContainer container, String protocol);
EJBConnector[] getEJBConnectors(EJBContainer container);
+ JMSManager getJMSManager(J2EEServer server);
+ JMSBroker[] getJMSBrokers(JMSManager manager);
+ JMSConnector[] getJMSConnectors(JMSManager manager, String protocol);
+ JMSConnector[] getJMSConnectors(JMSManager manager);
+ JMSConnector[] getJMSConnectors(JMSManager manager, JMSBroker broker, String protocol);
+ JMSConnector[] getJMSConnectors(JMSManager manager, JMSBroker broker);
GeronimoExecutor[] getThreadPools(J2EEServer server);
//todo: repository, embedded database
Modified: geronimo/trunk/applications/console-framework/src/webapp/WEB-INF/data/pageregistry.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-framework/src/webapp/WEB-INF/data/pageregistry.xml?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/applications/console-framework/src/webapp/WEB-INF/data/pageregistry.xml (original)
+++ geronimo/trunk/applications/console-framework/src/webapp/WEB-INF/data/pageregistry.xml Sun Aug 21 20:26:39 2005
@@ -143,6 +143,27 @@
</fragment>
</fragment>
+ <fragment name="jmsserver" type="page">
+ <navigation>
+ <title>JMS Server</title>
+ <description>Configure JMS Server</description>
+ </navigation>
+ <fragment name="row1" type="row">
+ <fragment name="col1" type="column">
+ <fragment name="p1" type="portlet">
+ <property name="portlet" value="5.63"/>
+ </fragment>
+ </fragment>
+ </fragment>
+ <fragment name="row2" type="row">
+ <fragment name="col1" type="column">
+ <fragment name="p2" type="portlet">
+ <property name="portlet" value="5.64"/>
+ </fragment>
+ </fragment>
+ </fragment>
+ </fragment>
+
<fragment name="j2ca" type="page">
<navigation>
<title>J2EE Connectors</title>
Modified: geronimo/trunk/applications/console-framework/src/webapp/WEB-INF/data/portletentityregistry.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-framework/src/webapp/WEB-INF/data/portletentityregistry.xml?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/applications/console-framework/src/webapp/WEB-INF/data/portletentityregistry.xml (original)
+++ geronimo/trunk/applications/console-framework/src/webapp/WEB-INF/data/portletentityregistry.xml Sun Aug 21 20:26:39 2005
@@ -123,5 +123,12 @@
<portlet id="62">
<definition-id>console-standard.Keystore</definition-id>
</portlet>
+
+ <portlet id="63">
+ <definition-id>console-standard.JMSServerManager</definition-id>
+ </portlet>
+ <portlet id="64">
+ <definition-id>console-standard.JMSConnectorManager</definition-id>
+ </portlet>
</application>
</portlet-entity-registry>
Added: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java (added)
+++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java Sun Aug 21 20:26:39 2005
@@ -0,0 +1,92 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.console;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import javax.portlet.GenericPortlet;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Superclass with some generic functionality for console portlets
+ *
+ * @version $Rev: 46228 $ $Date: 2004-09-16 21:21:04 -0400 (Thu, 16 Sep 2004) $
+ */
+public class BasePortlet extends GenericPortlet {
+ private final static Log log = LogFactory.getLog(BasePortlet.class);
+
+ public final static void setProperty(Object target, String name, Object value) {
+ boolean found = false;
+ Class cls = target.getClass();
+ String setter = "set"+Character.toUpperCase(name.charAt(0))+name.substring(1);
+ Method[] list = cls.getMethods();
+ for (int i = 0; i < list.length; i++) {
+ Method method = list[i];
+ if(method.getName().equals(setter) && method.getParameterTypes().length == 1 && Modifier.isPublic(method.getModifiers()) &&
+ !Modifier.isStatic(method.getModifiers())) {
+ found = true;
+ try {
+ method.invoke(target, new Object[]{value});
+ } catch (Exception e) {
+ log.error("Unable to set property "+name+" on "+target.getClass().getName());
+ }
+ break;
+ }
+ }
+ if(!found) {
+ throw new IllegalArgumentException("No such method found ("+setter+" on "+target.getClass().getName()+")");
+ }
+ }
+
+ public final static Object getProperty(Object target, String name) {
+ Class cls = target.getClass();
+ String getter = "get"+Character.toUpperCase(name.charAt(0))+name.substring(1);
+ Method[] list = cls.getMethods();
+ for (int i = 0; i < list.length; i++) {
+ Method method = list[i];
+ if(method.getName().equals(getter) && method.getParameterTypes().length == 0 && Modifier.isPublic(method.getModifiers()) &&
+ !Modifier.isStatic(method.getModifiers())) {
+ try {
+ return method.invoke(target, new Object[0]);
+ } catch (Exception e) {
+ log.error("Unable to get property "+name+" on "+target.getClass().getName());
+ }
+ break;
+ }
+ }
+ throw new IllegalArgumentException("No such method found ("+getter+" on "+target.getClass().getName()+")");
+ }
+
+ public final static Object callOperation(Object target, String operation, Object[] args) {
+ Class cls = target.getClass();
+ Method[] list = cls.getMethods();
+ for (int i = 0; i < list.length; i++) {
+ Method method = list[i];
+ if(method.getName().equals(operation) && ((args == null && method.getParameterTypes().length == 0) || (args != null && args.length == method.getParameterTypes().length))
+ && Modifier.isPublic(method.getModifiers()) && !Modifier.isStatic(method.getModifiers())) {
+ try {
+ return method.invoke(target, args);
+ } catch (Exception e) {
+ log.error("Unable to invoke "+operation+" on "+target.getClass().getName());
+ }
+ break;
+ }
+ }
+ throw new IllegalArgumentException("No such method found ("+operation+" on "+target.getClass().getName()+")");
+ }
+}
Added: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java (added)
+++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java Sun Aug 21 20:26:39 2005
@@ -0,0 +1,51 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.console.jmsmanager.server;
+
+import java.util.Map;
+import java.util.LinkedHashMap;
+import javax.portlet.RenderRequest;
+import javax.portlet.PortletException;
+import javax.management.ObjectName;
+import org.apache.geronimo.console.BasePortlet;
+import org.apache.geronimo.console.util.PortletManager;
+import org.apache.geronimo.management.geronimo.JMSBroker;
+import org.apache.geronimo.kernel.proxy.GeronimoManagedBean;
+
+/**
+ * Common methods for JMS portlets
+ *
+ * @version $Rev: 46228 $ $Date: 2004-09-16 21:21:04 -0400 (Thu, 16 Sep 2004) $
+ */
+public class BaseJMSPortlet extends BasePortlet {
+ protected static Map getBrokerMap(RenderRequest renderRequest) throws PortletException {
+ JMSBroker[] brokers;
+ Map map = new LinkedHashMap();
+ try {
+ brokers = PortletManager.getJMSBrokers(renderRequest);
+ for (int i = 0; i < brokers.length; i++) {
+ JMSBroker broker = brokers[i];
+ String string = ((GeronimoManagedBean)broker).getObjectName();
+ ObjectName name = ObjectName.getInstance(string);
+ map.put(name.getKeyProperty("name"), broker);
+ }
+ } catch (Exception e) {
+ throw new PortletException(e);
+ }
+ return map;
+ }
+}
Added: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/JMSBrokerPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/JMSBrokerPortlet.java?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/JMSBrokerPortlet.java (added)
+++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/JMSBrokerPortlet.java Sun Aug 21 20:26:39 2005
@@ -0,0 +1,121 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.console.jmsmanager.server;
+
+import java.io.IOException;
+import java.util.Map;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.PortletException;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.WindowState;
+import javax.portlet.PortletConfig;
+import org.apache.geronimo.console.util.PortletManager;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * Basic list of JMS brokers
+ *
+ * @version $Rev: 46228 $ $Date: 2004-09-16 21:21:04 -0400 (Thu, 16 Sep 2004) $
+ */
+public class JMSBrokerPortlet extends BaseJMSPortlet {
+ private final static Log log = LogFactory.getLog(JMSBrokerPortlet.class);
+ private PortletRequestDispatcher normalView;
+
+ private PortletRequestDispatcher maximizedView;
+
+ private PortletRequestDispatcher helpView;
+
+ public void processAction(ActionRequest actionRequest,
+ ActionResponse actionResponse) throws PortletException, IOException {
+ try {
+ String mode = actionRequest.getParameter("mode");
+ String name = actionRequest.getParameter("objectName");
+ if(mode.equals("start")) {
+ try {
+ //todo: this only goes into the "starting" state, doesn't make it to "running" -- what's up with that?
+ PortletManager.getManagedBean(actionRequest, name).startRecursive();
+ } catch (Exception e) {
+ throw new PortletException(e);
+ }
+ } else if(mode.equals("stop")) {
+ try {
+ PortletManager.getManagedBean(actionRequest, name).stop();
+ } catch (Exception e) {
+ throw new PortletException(e);
+ }
+ } else if(mode.equals("edit")) {
+ //todo: is there anything to edit?
+ } else if(mode.equals("delete")) {
+ //todo: add a method to JMSManager to handle this
+ } else if(mode.equals("new")) {
+ //todo: add a method to JMSManager to handle this -- it needs to let you pick a configuration that has ActiveMQ on the path...
+ }
+ actionResponse.setRenderParameter("mode", "list");
+ } catch (Throwable e) {
+ log.error("Unable to process portlet action", e);
+ if(e instanceof PortletException) {
+ throw (PortletException)e;
+ }
+ }
+ }
+
+ protected void doView(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws IOException, PortletException {
+ try {
+ if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) {
+ return;
+ }
+ Map map = getBrokerMap(renderRequest);
+ renderRequest.setAttribute("brokers", map.entrySet());
+ if (WindowState.NORMAL.equals(renderRequest.getWindowState())) {
+ normalView.include(renderRequest, renderResponse);
+ } else {
+ maximizedView.include(renderRequest, renderResponse);
+ }
+ } catch (Throwable e) {
+ log.error("Unable to render portlet", e);
+ }
+ }
+
+ protected void doHelp(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws PortletException, IOException {
+ helpView.include(renderRequest, renderResponse);
+ }
+
+ public void init(PortletConfig portletConfig) throws PortletException {
+ super.init(portletConfig);
+
+ normalView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/jmsmanager/server/normal.jsp");
+ maximizedView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/jmsmanager/server/maximized.jsp");
+ helpView = portletConfig.getPortletContext().getRequestDispatcher(
+ "/WEB-INF/view/jmsmanager/server/help.jsp");
+ }
+
+ public void destroy() {
+ helpView = null;
+ normalView = null;
+ maximizedView = null;
+ super.destroy();
+ }
+
+}
Added: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/JMSConnectorPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/JMSConnectorPortlet.java?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/JMSConnectorPortlet.java (added)
+++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/JMSConnectorPortlet.java Sun Aug 21 20:26:39 2005
@@ -0,0 +1,252 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.console.jmsmanager.server;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.ArrayList;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.PortletException;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.WindowState;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletContext;
+import javax.management.ObjectName;
+import javax.management.MalformedObjectNameException;
+import org.apache.geronimo.console.util.PortletManager;
+import org.apache.geronimo.kernel.proxy.GeronimoManagedBean;
+import org.apache.geronimo.management.geronimo.JMSBroker;
+import org.apache.geronimo.management.geronimo.JMSConnector;
+import org.apache.geronimo.management.geronimo.JMSManager;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/**
+ * List, edit, add, remove JMS network connectors
+ *
+ * @version $Rev: 46228 $ $Date: 2004-09-16 21:21:04 -0400 (Thu, 16 Sep 2004) $
+ */
+public class JMSConnectorPortlet extends BaseJMSPortlet {
+ private final static Log log = LogFactory.getLog(JMSConnectorPortlet.class);
+
+ private PortletRequestDispatcher normalView;
+
+ private PortletRequestDispatcher maximizedView;
+
+ private PortletRequestDispatcher helpView;
+
+ protected PortletRequestDispatcher editView;
+
+ public void processAction(ActionRequest actionRequest,
+ ActionResponse actionResponse) throws PortletException, IOException {
+ try {
+ String mode = actionRequest.getParameter("mode");
+ String brokerName = actionRequest.getParameter("brokerName");
+ if(mode.equals("new")) {
+ // User selected to add a new connector, need to show criteria portlet
+ actionResponse.setRenderParameter("mode", "new");
+ String protocol = actionRequest.getParameter("protocol");
+ actionResponse.setRenderParameter("protocol", protocol);
+ actionResponse.setRenderParameter("brokerName", brokerName);
+ } else if(mode.equals("add")) { // User just submitted the form to add a new connector
+ // Get submitted values
+ //todo: lots of validation
+ String protocol = actionRequest.getParameter("protocol");
+ String host = actionRequest.getParameter("host");
+ int port = Integer.parseInt(actionRequest.getParameter("port"));
+ String name = actionRequest.getParameter("name");
+ // Create and configure the connector
+ JMSBroker broker = (JMSBroker)PortletManager.getManagedBean(actionRequest, brokerName);
+ JMSConnector connector = PortletManager.createJMSConnector(actionRequest, broker, name, protocol, host, port);
+ // Start the connector
+ try {
+ ((GeronimoManagedBean)connector).startRecursive();
+ } catch (Exception e) {
+ log.error("Unable to start connector", e); //todo: get into rendered page somehow?
+ }
+ actionResponse.setRenderParameter("mode", "list");
+ } else if(mode.equals("save")) { // User just submitted the form to update a connector
+ // Get submitted values
+ //todo: lots of validation
+ String host = actionRequest.getParameter("host");
+ int port = Integer.parseInt(actionRequest.getParameter("port"));
+ String objectName = actionRequest.getParameter("objectName");
+ // Identify and update the connector
+ JMSConnector connector = (JMSConnector)PortletManager.getManagedBean(actionRequest, objectName);
+ if(connector != null) {
+ connector.setHost(host);
+ connector.setPort(port);
+ }
+ actionResponse.setRenderParameter("mode", "list");
+ } else if(mode.equals("start")) {
+ String objectName = actionRequest.getParameter("objectName");
+ try {
+ PortletManager.getManagedBean(actionRequest, objectName).startRecursive();
+ } catch (Exception e) {
+ throw new PortletException(e);
+ }
+ actionResponse.setRenderParameter("mode", "list");
+ } else if(mode.equals("stop")) {
+ String objectName = actionRequest.getParameter("objectName");
+ try {
+ PortletManager.getManagedBean(actionRequest, objectName).stop();
+ } catch (Exception e) {
+ throw new PortletException(e);
+ }
+ actionResponse.setRenderParameter("mode", "list");
+ } else if(mode.equals("edit")) {
+ String objectName = actionRequest.getParameter("objectName");
+ actionResponse.setRenderParameter("objectName", objectName);
+ actionResponse.setRenderParameter("mode", "edit");
+ } else if(mode.equals("delete")) {
+ String objectName = actionRequest.getParameter("objectName");
+ PortletManager.getCurrentJMSManager(actionRequest).removeConnector(objectName);
+ actionResponse.setRenderParameter("mode", "list");
+ }
+ } catch (Throwable e) {
+ log.error("Unable to process portlet action", e);
+ if(e instanceof PortletException) {
+ throw (PortletException)e;
+ }
+ }
+ }
+
+ protected void doView(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws IOException, PortletException {
+ if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) {
+ return;
+ }
+
+ try {
+ String mode = renderRequest.getParameter("mode");
+ if(mode == null || mode.equals("")) {
+ mode = "list";
+ }
+ JMSManager manager = PortletManager.getCurrentJMSManager(renderRequest);
+
+ if(mode.equals("new")) {
+ String brokerName = renderRequest.getParameter("brokerName");
+ String protocol = renderRequest.getParameter("protocol");
+ renderRequest.setAttribute("protocol", protocol);
+ renderRequest.setAttribute("brokerName", brokerName);
+ renderRequest.setAttribute("mode", "add");
+ editView.include(renderRequest, renderResponse);
+ } else if(mode.equals("edit")) {
+ String objectName = renderRequest.getParameter("objectName");
+ JMSConnector connector = (JMSConnector)PortletManager.getManagedBean(renderRequest, objectName);
+ if(connector == null) {
+ doList(renderRequest, manager, renderResponse);
+ } else {
+ renderRequest.setAttribute("objectName", objectName);
+ renderRequest.setAttribute("port", new Integer(connector.getPort()));
+ renderRequest.setAttribute("host", connector.getHost());
+ renderRequest.setAttribute("mode", "save");
+ editView.include(renderRequest, renderResponse);
+ }
+ } else if(mode.equals("list")) {
+ doList(renderRequest, manager, renderResponse);
+ }
+ } catch (Throwable e) {
+ log.error("Unable to render portlet", e);
+ }
+ }
+
+ private void doList(RenderRequest renderRequest, JMSManager container, RenderResponse renderResponse) throws PortletException, IOException {
+ List beans = new ArrayList();
+ JMSBroker[] brokers = PortletManager.getJMSBrokers(renderRequest);
+ for (int i = 0; i < brokers.length; i++) {
+ JMSBroker broker = brokers[i];
+ String objectName = ((GeronimoManagedBean)broker).getObjectName();
+ try {
+ ObjectName name = ObjectName.getInstance(objectName);
+ String brokerName = name.getKeyProperty("name");
+ JMSConnector[] connectors = PortletManager.getBrokerJMSConnectors(renderRequest, broker);
+ for (int j = 0; j < connectors.length; j++) {
+ JMSConnector connector = connectors[j];
+ ObjectName conName = ObjectName.getInstance(((GeronimoManagedBean)connector).getObjectName());
+ String connectorName = conName.getKeyProperty("name");
+ ConnectorWrapper info = new ConnectorWrapper(brokerName, connectorName, connector);
+ beans.add(info);
+ }
+ } catch (MalformedObjectNameException e) {
+ log.error("Unable to decode ObjectName", e);
+ }
+ }
+ renderRequest.setAttribute("brokers", getBrokerMap(renderRequest).entrySet());
+ renderRequest.setAttribute("connectors", beans);
+ renderRequest.setAttribute("protocols", container.getSupportedProtocols());
+
+ if (WindowState.NORMAL.equals(renderRequest.getWindowState())) {
+ normalView.include(renderRequest, renderResponse);
+ } else {
+ maximizedView.include(renderRequest, renderResponse);
+ }
+ }
+
+ protected void doHelp(RenderRequest renderRequest,
+ RenderResponse renderResponse) throws PortletException, IOException {
+ helpView.include(renderRequest, renderResponse);
+ }
+
+ public void init(PortletConfig portletConfig) throws PortletException {
+ super.init(portletConfig);
+ PortletContext pc = portletConfig.getPortletContext();
+ normalView = pc.getRequestDispatcher("/WEB-INF/view/jmsmanager/server/connector/normal.jsp");
+ maximizedView = pc.getRequestDispatcher("/WEB-INF/view/jmsmanager/server/connector/maximized.jsp");
+ helpView = pc.getRequestDispatcher("/WEB-INF/view/jmsmanager/server/connector/help.jsp");
+ editView = pc.getRequestDispatcher("/WEB-INF/view/jmsmanager/server/connector/editGeneric.jsp");
+ }
+
+ public void destroy() {
+ helpView = null;
+ editView = null;
+ normalView = null;
+ maximizedView = null;
+ super.destroy();
+ }
+
+ public final static boolean isValid(String s) {
+ return s != null && !s.equals("");
+ }
+
+ public static class ConnectorWrapper {
+ private String broker;
+ private String displayName;
+ private JMSConnector connector;
+
+ public ConnectorWrapper(String broker, String displayName, JMSConnector connector) {
+ this.broker = broker;
+ this.displayName = displayName;
+ this.connector = connector;
+ }
+
+ public String getBrokerName() {
+ return broker;
+ }
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ public JMSConnector getConnector() {
+ return connector;
+ }
+ }
+}
Modified: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/util/PortletManager.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/util/PortletManager.java?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/util/PortletManager.java (original)
+++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/util/PortletManager.java Sun Aug 21 20:26:39 2005
@@ -22,6 +22,7 @@
import javax.naming.NamingException;
import org.apache.geronimo.kernel.KernelRegistry;
import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.proxy.GeronimoManagedBean;
import org.apache.geronimo.management.J2EEDomain;
import org.apache.geronimo.management.geronimo.JVM;
import org.apache.geronimo.management.geronimo.J2EEServer;
@@ -29,6 +30,9 @@
import org.apache.geronimo.management.geronimo.WebConnector;
import org.apache.geronimo.management.geronimo.EJBContainer;
import org.apache.geronimo.management.geronimo.EJBConnector;
+import org.apache.geronimo.management.geronimo.JMSManager;
+import org.apache.geronimo.management.geronimo.JMSBroker;
+import org.apache.geronimo.management.geronimo.JMSConnector;
import org.apache.geronimo.system.logging.SystemLog;
import org.apache.geronimo.pool.GeronimoExecutor;
import org.apache.commons.logging.Log;
@@ -45,6 +49,7 @@
private final static String SERVER_KEY = "org.apache.geronimo.console.J2EEServer";
private final static String JVM_KEY = "org.apache.geronimo.console.JVM";
private final static String WEB_CONTAINER_KEY = "org.apache.geronimo.console.WebContainer";
+ private final static String JMS_MANAGER_KEY = "org.apache.geronimo.console.JMSManager";
private final static String EJB_CONTAINER_KEY = "org.apache.geronimo.console.EJBContainer";
private final static String SYSTEM_LOG_KEY = "org.apache.geronimo.console.SystemLog";
// The following may change based on the user's selections
@@ -158,6 +163,48 @@
return helper.getEJBConnectors(getCurrentEJBContainer(request), protocol);
}
+ public static JMSManager getCurrentJMSManager(PortletRequest request) {
+ JMSManager manager = (JMSManager) request.getPortletSession(true).getAttribute(JMS_MANAGER_KEY, PortletSession.APPLICATION_SCOPE);
+ if(manager == null) {
+ ManagementHelper helper = getManagementHelper(request);
+ manager = helper.getJMSManager(getCurrentServer(request));
+ request.getPortletSession().setAttribute(JMS_MANAGER_KEY, manager, PortletSession.APPLICATION_SCOPE);
+ }
+ return manager;
+ }
+
+ public static JMSBroker[] getJMSBrokers(PortletRequest request) {
+ ManagementHelper helper = getManagementHelper(request);
+ return helper.getJMSBrokers(getCurrentJMSManager(request));
+ }
+
+ public static JMSConnector createJMSConnector(PortletRequest request, JMSBroker broker, String name, String protocol, String host, int port) {
+ JMSManager manager = getCurrentJMSManager(request);
+ String objectName = manager.addConnector(((GeronimoManagedBean)broker).getObjectName(), name, protocol, host, port);
+ ManagementHelper helper = getManagementHelper(request);
+ return (JMSConnector)helper.getObject(objectName);
+ }
+
+ public static JMSConnector[] getJMSConnectors(PortletRequest request) {
+ ManagementHelper helper = getManagementHelper(request);
+ return helper.getJMSConnectors(getCurrentJMSManager(request));
+ }
+
+ public static JMSConnector[] getJMSConnectors(PortletRequest request, String protocol) {
+ ManagementHelper helper = getManagementHelper(request);
+ return helper.getJMSConnectors(getCurrentJMSManager(request), protocol);
+ }
+
+ public static JMSConnector[] getBrokerJMSConnectors(PortletRequest request, JMSBroker broker) {
+ ManagementHelper helper = getManagementHelper(request);
+ return helper.getJMSConnectors(getCurrentJMSManager(request), broker);
+ }
+
+ public static JMSConnector[] getBrokerJMSConnectors(PortletRequest request, JMSBroker broker, String protocol) {
+ ManagementHelper helper = getManagementHelper(request);
+ return helper.getJMSConnectors(getCurrentJMSManager(request), broker, protocol);
+ }
+
public static GeronimoExecutor[] getThreadPools(PortletRequest request) {
ManagementHelper helper = getManagementHelper(request);
return helper.getThreadPools(getCurrentServer(request));
@@ -176,5 +223,10 @@
request.getPortletSession().setAttribute(SYSTEM_LOG_KEY, log, PortletSession.APPLICATION_SCOPE);
}
return log;
+ }
+
+ public static GeronimoManagedBean getManagedBean(PortletRequest request, String name) {
+ ManagementHelper helper = getManagementHelper(request);
+ return (GeronimoManagedBean) helper.getObject(name);
}
}
Modified: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/BaseWebPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/BaseWebPortlet.java?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/BaseWebPortlet.java (original)
+++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/BaseWebPortlet.java Sun Aug 21 20:26:39 2005
@@ -1,3 +1,19 @@
+/**
+ *
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.geronimo.console.webmanager;
import java.lang.reflect.Method;
@@ -5,11 +21,14 @@
import javax.portlet.GenericPortlet;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.geronimo.console.BasePortlet;
/**
- * @version $Revision: 1.0$
+ * Superclass for web container related portlets
+ *
+ * @version $Rev: 46228 $ $Date: 2004-09-16 21:21:04 -0400 (Thu, 16 Sep 2004) $
*/
-public class BaseWebPortlet extends GenericPortlet {
+public class BaseWebPortlet extends BasePortlet {
private final static Log log = LogFactory.getLog(BaseWebPortlet.class);
protected final static String SERVER_JETTY = "jetty";
protected final static String SERVER_TOMCAT = "tomcat";
@@ -28,63 +47,4 @@
return SERVER_GENERIC;
}
- public final static void setProperty(Object target, String name, Object value) {
- boolean found = false;
- Class cls = target.getClass();
- String setter = "set"+Character.toUpperCase(name.charAt(0))+name.substring(1);
- Method[] list = cls.getMethods();
- for (int i = 0; i < list.length; i++) {
- Method method = list[i];
- if(method.getName().equals(setter) && method.getParameterTypes().length == 1 && Modifier.isPublic(method.getModifiers()) &&
- !Modifier.isStatic(method.getModifiers())) {
- found = true;
- try {
- method.invoke(target, new Object[]{value});
- } catch (Exception e) {
- log.error("Unable to set property "+name+" on "+target.getClass().getName());
- }
- break;
- }
- }
- if(!found) {
- throw new IllegalArgumentException("No such method found ("+setter+" on "+target.getClass().getName()+")");
- }
- }
-
- public final static Object getProperty(Object target, String name) {
- Class cls = target.getClass();
- String getter = "get"+Character.toUpperCase(name.charAt(0))+name.substring(1);
- Method[] list = cls.getMethods();
- for (int i = 0; i < list.length; i++) {
- Method method = list[i];
- if(method.getName().equals(getter) && method.getParameterTypes().length == 0 && Modifier.isPublic(method.getModifiers()) &&
- !Modifier.isStatic(method.getModifiers())) {
- try {
- return method.invoke(target, new Object[0]);
- } catch (Exception e) {
- log.error("Unable to get property "+name+" on "+target.getClass().getName());
- }
- break;
- }
- }
- throw new IllegalArgumentException("No such method found ("+getter+" on "+target.getClass().getName()+")");
- }
-
- public final static Object callOperation(Object target, String operation, Object[] args) {
- Class cls = target.getClass();
- Method[] list = cls.getMethods();
- for (int i = 0; i < list.length; i++) {
- Method method = list[i];
- if(method.getName().equals(operation) && ((args == null && method.getParameterTypes().length == 0) || (args != null && args.length == method.getParameterTypes().length))
- && Modifier.isPublic(method.getModifiers()) && !Modifier.isStatic(method.getModifiers())) {
- try {
- return method.invoke(target, args);
- } catch (Exception e) {
- log.error("Unable to invoke "+operation+" on "+target.getClass().getName());
- }
- break;
- }
- }
- throw new IllegalArgumentException("No such method found ("+operation+" on "+target.getClass().getName()+")");
- }
}
Modified: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/ConnectorPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/ConnectorPortlet.java?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/ConnectorPortlet.java (original)
+++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/ConnectorPortlet.java Sun Aug 21 20:26:39 2005
@@ -353,6 +353,9 @@
public void destroy() {
normalView = null;
maximizedView = null;
+ helpView = null;
+ editHttpsView = null;
+ editHttpView = null;
super.destroy();
}
Modified: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/WebManagerPortlet.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/WebManagerPortlet.java?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/WebManagerPortlet.java (original)
+++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/webmanager/WebManagerPortlet.java Sun Aug 21 20:26:39 2005
@@ -32,6 +32,11 @@
import org.apache.geronimo.console.util.PortletManager;
import org.apache.geronimo.management.geronimo.WebContainer;
+/**
+ * Basic portlet showing statistics for a web container
+ *
+ * @version $Rev: 46228 $ $Date: 2004-09-16 21:21:04 -0400 (Thu, 16 Sep 2004) $
+ */
public class WebManagerPortlet extends BaseWebPortlet {
private PortletRequestDispatcher normalView;
@@ -105,6 +110,7 @@
}
public void destroy() {
+ helpView = null;
normalView = null;
maximizedView = null;
super.destroy();
Modified: geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/portlet.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/portlet.xml?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/portlet.xml (original)
+++ geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/portlet.xml Sun Aug 21 20:26:39 2005
@@ -215,7 +215,7 @@
<keywords>Web Servers</keywords>
</portlet-info>
</portlet>
-
+<!--
<portlet>
<description>Portlet for managing HTTP connectors</description>
<portlet-name>HTTPConnectorManager</portlet-name>
@@ -263,7 +263,7 @@
<keywords>HTTPS Connectors</keywords>
</portlet-info>
</portlet>
-
+-->
<portlet>
<description>Portlet for managing Network Listeners</description>
<portlet-name>ConnectorManager</portlet-name>
@@ -309,6 +309,54 @@
<title>EJB Server</title>
<short-title>EJB Server</short-title>
<keywords>EJB Server</keywords>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <description>Portlet for managing the JMS server</description>
+ <portlet-name>JMSServerManager</portlet-name>
+ <display-name>JMS Server Mangement Portlet</display-name>
+
+ <portlet-class>org.apache.geronimo.console.jmsmanager.server.JMSBrokerPortlet</portlet-class>
+
+ <expiration-cache>-1</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>VIEW</portlet-mode>
+ <portlet-mode>HELP</portlet-mode>
+ </supports>
+
+ <supported-locale>en</supported-locale>
+
+ <portlet-info>
+ <title>JMS Server Manager</title>
+ <short-title>JMS Servers</short-title>
+ <keywords>JMS Servers</keywords>
+ </portlet-info>
+ </portlet>
+
+ <portlet>
+ <description>Portlet for managing JMS network listeners</description>
+ <portlet-name>JMSConnectorManager</portlet-name>
+ <display-name>JMS Network Listener Portlet</display-name>
+
+ <portlet-class>org.apache.geronimo.console.jmsmanager.server.JMSConnectorPortlet</portlet-class>
+
+ <expiration-cache>-1</expiration-cache>
+
+ <supports>
+ <mime-type>text/html</mime-type>
+ <portlet-mode>VIEW</portlet-mode>
+ <portlet-mode>HELP</portlet-mode>
+ </supports>
+
+ <supported-locale>en</supported-locale>
+
+ <portlet-info>
+ <title>JMS Network Listeners</title>
+ <short-title>JMS Listeners</short-title>
+ <keywords>JMS Network Listeners Connectors</keywords>
</portlet-info>
</portlet>
Added: geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/editGeneric.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/editGeneric.jsp?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/editGeneric.jsp (added)
+++ geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/editGeneric.jsp Sun Aug 21 20:26:39 2005
@@ -0,0 +1,60 @@
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="portlet" uri="http://java.sun.com/portlet" %>
+<portlet:defineObjects/>
+
+<form name="<portlet:namespace/>" action="<portlet:actionURL/>">
+<input type="hidden" name="mode" value="${mode}">
+<input type="hidden" name="protocol" value="${protocol}">
+<c:choose>
+<c:when test="${mode eq 'save'}">
+ <input type="hidden" name="objectName" value="${objectName}">
+</c:when>
+<c:otherwise>
+ <input type="hidden" name="brokerName" value="${brokerName}">
+</c:otherwise>
+</c:choose>
+<table width="100%%" border="0">
+
+<!-- Name Field -->
+<c:if test="${mode eq 'add'}">
+ <tr>
+ <td><div align="right">Unique Name: </div></td>
+ <td><input name="name" type="text" size="30"></td>
+ </tr>
+ <tr>
+ <td><div align="right"></div></td>
+ <td>A name that is different than the name for any other JMS connectors in the server</td>
+ </tr>
+</c:if>
+<!-- Host Field -->
+ <tr>
+ <td><div align="right">Host: </div></td>
+ <td>
+ <input name="host" type="text" size="30" value="${host}">
+ </td>
+ </tr>
+ <tr>
+ <td><div align="right"></div></td>
+ <td>The host name or IP to bind to. The normal values are <tt>0.0.0.0</tt> (all interfaces) or <tt>localhost</tt> (local connections only)</td>
+ </tr>
+<!-- Port Field -->
+ <tr>
+ <td><div align="right">Port: </div></td>
+ <td>
+ <input name="port" type="text" size="5" value="${port}">
+ </td>
+ </tr>
+ <tr>
+ <td><div align="right"></div></td>
+ <td>The network port to bind to.</td>
+ </tr>
+<!-- Submit Button -->
+ <tr>
+ <td><div align="right"></div></td>
+ <td><input name="submit" type="submit" value="Save"></td>
+ </tr>
+</table>
+</form>
+<a href='<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="list" />
+ </portlet:actionURL>'>List JMS connectors</a>
\ No newline at end of file
Added: geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/help.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/help.jsp?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/help.jsp (added)
+++ geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/help.jsp Sun Aug 21 20:26:39 2005
@@ -0,0 +1,2 @@
+<p>Shows all the network connectors configured for the currently available JMS brokers.
+Lets you start, stop, add, remove, and edit JMS network connectors.</p>
\ No newline at end of file
Added: geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/maximized.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/maximized.jsp?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/maximized.jsp (added)
+++ geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/maximized.jsp Sun Aug 21 20:26:39 2005
@@ -0,0 +1 @@
+<%@ include file="normal.jsp" %>
\ No newline at end of file
Added: geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/normal.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/normal.jsp?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/normal.jsp (added)
+++ geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/connector/normal.jsp Sun Aug 21 20:26:39 2005
@@ -0,0 +1,68 @@
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
+<portlet:defineObjects/>
+
+<p>Currently available JMS network connectors:</p>
+
+<!-- Show existing connectors -->
+<c:if test="${empty(connectors)}">There are no JMS network connectors defined</c:if>
+<c:if test="${!empty(connectors)}">
+<table width="100%">
+ <tr>
+ <td style="padding: 0 20px">
+ <tr>
+ <td class="DarkBackground">Name</td>
+ <td class="DarkBackground" align="center">Broker</td>
+ <td class="DarkBackground" align="center">Protocol</td>
+ <td class="DarkBackground" align="center">Port</td>
+ <td class="DarkBackground" align="center">State</td>
+ <td class="DarkBackground" align="center">Actions</td>
+ </tr>
+<c:forEach var="info" items="${connectors}">
+ <tr>
+ <td>${info.displayName}</td>
+ <td>${info.brokerName}</td>
+ <td>${info.connector.protocol}</td>
+ <td>${info.connector.port}</td>
+ <td>${info.connector.stateInstance}</td>
+ <td>
+ <c:choose>
+ <c:when test="${info.connector.stateInstance.name eq 'running'}">
+ <a href="<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="stop" />
+ <portlet:param name="objectName" value="${info.connector.objectName}" />
+ </portlet:actionURL>">stop</a>
+ </c:when>
+ <c:otherwise>
+ <a href="<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="start" />
+ <portlet:param name="objectName" value="${info.connector.objectName}" />
+ </portlet:actionURL>">start</a>
+ </c:otherwise>
+ </c:choose>
+ <a href="<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="edit" />
+ <portlet:param name="objectName" value="${info.connector.objectName}" />
+ </portlet:actionURL>">edit</a>
+ <a href="<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="delete" />
+ <portlet:param name="objectName" value="${info.connector.objectName}" />
+ </portlet:actionURL>">delete</a>
+ </td>
+ </tr>
+</c:forEach>
+</table>
+</c:if>
+
+<!-- Links to add new connectors -->
+<c:forEach var="entry" items="${brokers}">
+<p>Add connector to ${entry.key}:</p>
+<ul>
+<c:forEach var="protocol" items="${protocols}">
+<li><a href="<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="new" />
+ <portlet:param name="brokerName" value="${entry.value.objectName}" />
+ <portlet:param name="protocol" value="${protocol}" />
+ </portlet:actionURL>">Add new <b>${protocol}</b> listener</a></li>
+</c:forEach>
+</c:forEach>
\ No newline at end of file
Added: geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/help.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/help.jsp?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/help.jsp (added)
+++ geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/help.jsp Sun Aug 21 20:26:39 2005
@@ -0,0 +1,2 @@
+<p>Shows the available JMS brokers</p>
+<p> </p>
Added: geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/maximized.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/maximized.jsp?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/maximized.jsp (added)
+++ geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/maximized.jsp Sun Aug 21 20:26:39 2005
@@ -0,0 +1 @@
+<%@ include file="normal.jsp" %>
\ No newline at end of file
Added: geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/normal.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/normal.jsp?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/normal.jsp (added)
+++ geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/jmsmanager/server/normal.jsp Sun Aug 21 20:26:39 2005
@@ -0,0 +1,53 @@
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
+<portlet:defineObjects/>
+
+<p>The JMS brokers available in the server are:</p>
+
+<!-- Show existing connectors -->
+<c:if test="${empty(brokers)}">There are no JMS brokers defined</c:if>
+<c:if test="${!empty(brokers)}">
+<table width="100%">
+ <tr><td style="padding: 0 20px"></td></tr>
+ <tr>
+ <td class="DarkBackground">Name</td>
+ <td class="DarkBackground" align="center">State</td>
+ <td class="DarkBackground" align="center">Actions</td>
+ </tr>
+<c:forEach var="entry" items="${brokers}">
+ <tr>
+ <td>${entry.key}</td>
+ <td>${entry.value.stateInstance}</td>
+ <td>
+ <c:choose>
+ <c:when test="${entry.value.stateInstance.name eq 'running'}">
+ <a href="<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="stop" />
+ <portlet:param name="objectName" value="${entry.value.objectName}" />
+ </portlet:actionURL>">stop</a>
+ </c:when>
+ <c:otherwise>
+ <a href="<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="start" />
+ <portlet:param name="objectName" value="${entry.value.objectName}" />
+ </portlet:actionURL>">start</a>
+ </c:otherwise>
+ </c:choose>
+ <a href="<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="edit" />
+ <portlet:param name="objectName" value="${entry.value.objectName}" />
+ </portlet:actionURL>">edit</a>
+ <a href="<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="delete" />
+ <portlet:param name="objectName" value="${entry.value.objectName}" />
+ </portlet:actionURL>">delete</a>
+ </td>
+ </tr>
+</c:forEach>
+</table>
+</c:if>
+
+<br />
+<a href="<portlet:actionURL portletMode="view">
+ <portlet:param name="mode" value="new" />
+ </portlet:actionURL>">Add new JMS Broker</a>
Modified: geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/webmanager/connector/normal.jsp
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/webmanager/connector/normal.jsp?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/webmanager/connector/normal.jsp (original)
+++ geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/view/webmanager/connector/normal.jsp Sun Aug 21 20:26:39 2005
@@ -2,9 +2,6 @@
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet"%>
<portlet:defineObjects/>
-<p>There are still updates necessary to this portlet --
-there should be a separate add/edit JSP with additional logic for HTTPS connectors.</p>
-
<!-- Show existing connectors -->
<c:if test="${empty(connectors)}">There are no Connectors defined</c:if>
<c:if test="${!empty(connectors)}">
@@ -12,13 +9,12 @@
<tr>
<td style="padding: 0 20px">
<tr>
- <td class="DarkBackground">Name
- <td class="DarkBackground" align="center">Protocol
- <td class="DarkBackground" align="center">Port
- <td class="DarkBackground" align="center">State
- <td class="DarkBackground" align="center">Actions
- <td class="DarkBackground" align="center">Type
- </td>
+ <td class="DarkBackground">Name</td>
+ <td class="DarkBackground" align="center">Protocol</td>
+ <td class="DarkBackground" align="center">Port</td>
+ <td class="DarkBackground" align="center">State</td>
+ <td class="DarkBackground" align="center">Actions</td>
+ <td class="DarkBackground" align="center">Type</td>
</tr>
<c:forEach var="info" items="${connectors}">
<tr>
Modified: geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/web.xml?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/web.xml (original)
+++ geronimo/trunk/applications/console-standard/src/webapp/WEB-INF/web.xml Sun Aug 21 20:26:39 2005
@@ -485,6 +485,7 @@
<param-value>console-standard.WebServerManager</param-value>
</init-param>
</servlet>
+ <!--
<servlet>
<description>Automated generated Portlet Wrapper</description>
<display-name>Pluto Wrapper for HTTP Connector Management Portlet</display-name>
@@ -513,6 +514,7 @@
<param-value>console-standard.HTTPSConnectorManager</param-value>
</init-param>
</servlet>
+-->
<servlet>
<description>Automated generated Portlet Wrapper</description>
<display-name>Pluto Wrapper for Connector Management Portlet</display-name>
@@ -527,6 +529,37 @@
<param-value>console-standard.ConnectorManager</param-value>
</init-param>
</servlet>
+ <!-- JMS Server Manager Portlet -->
+ <servlet>
+ <description>Automated generated Portlet Wrapper</description>
+ <display-name>Pluto Wrapper for JMS Server Management Portlet</display-name>
+ <servlet-name>JMSServerManager</servlet-name>
+ <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
+ <init-param>
+ <param-name>portlet-class</param-name>
+ <param-value>org.apache.geronimo.console.jmsmanager.server.JMSBrokerPortlet</param-value>
+ </init-param>
+ <init-param>
+ <param-name>portlet-guid</param-name>
+ <param-value>console-standard.JMSServerManager</param-value>
+ </init-param>
+ </servlet>
+ <servlet>
+ <description>Automated generated Portlet Wrapper</description>
+ <display-name>Pluto Wrapper for JMS Connector Management Portlet</display-name>
+ <servlet-name>JMSConnectorManager</servlet-name>
+ <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
+ <init-param>
+ <param-name>portlet-class</param-name>
+ <param-value>org.apache.geronimo.console.jmsmanager.server.JMSConnectorPortlet</param-value>
+ </init-param>
+ <init-param>
+ <param-name>portlet-guid</param-name>
+ <param-value>console-standard.JMSConnectorManager</param-value>
+ </init-param>
+ </servlet>
+
+
<servlet>
<description>Automated generated Portlet Wrapper</description>
<display-name>Pluto Wrapper for JNDI Portlet</display-name>
@@ -569,7 +602,7 @@
<param-value>console-standard.ServerManager</param-value>
</init-param>
</servlet>
-
+
<!-- DB manager servlets -->
<servlet>
<description>Automated generated Portlet Wrapper</description>
@@ -759,6 +792,7 @@
<servlet-name>WebServerManager</servlet-name>
<url-pattern>/WebServerManager/*</url-pattern>
</servlet-mapping>
+<!--
<servlet-mapping>
<servlet-name>HTTPConnectorManager</servlet-name>
<url-pattern>/HTTPConnectorManager/*</url-pattern>
@@ -767,9 +801,18 @@
<servlet-name>HTTPSConnectorManager</servlet-name>
<url-pattern>/HTTPSConnectorManager/*</url-pattern>
</servlet-mapping>
+-->
<servlet-mapping>
<servlet-name>ConnectorManager</servlet-name>
<url-pattern>/ConnectorManager/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>JMSServerManager</servlet-name>
+ <url-pattern>/JMSServerManager/*</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>JMSConnectorManager</servlet-name>
+ <url-pattern>/JMSConnectorManager/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>JNDI</servlet-name>
Modified: geronimo/trunk/modules/assembly/project.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/project.xml?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/modules/assembly/project.xml (original)
+++ geronimo/trunk/modules/assembly/project.xml Sun Aug 21 20:26:39 2005
@@ -569,6 +569,14 @@
</dependency>
<dependency>
<groupId>activemq</groupId>
+ <artifactId>activemq-gbean-management</artifactId>
+ <version>${activemq_version}</version>
+ <properties>
+ <repository>true</repository>
+ </properties>
+ </dependency>
+ <dependency>
+ <groupId>activemq</groupId>
<artifactId>activemq-ra</artifactId>
<version>${activemq_version}</version>
<type>rar</type>
Modified: geronimo/trunk/modules/assembly/src/plan/j2ee-server-plan.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/src/plan/j2ee-server-plan.xml?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/modules/assembly/src/plan/j2ee-server-plan.xml (original)
+++ geronimo/trunk/modules/assembly/src/plan/j2ee-server-plan.xml Sun Aug 21 20:26:39 2005
@@ -124,6 +124,9 @@
<uri>geronimo/jars/geronimo-servicemix-${geronimo_version}.jar</uri>
</dependency>
+ <dependency>
+ <uri>activemq/jars/activemq-gbean-management-${activemq_version}.jar</uri>
+ </dependency>
${webcontainer}
Modified: geronimo/trunk/modules/assembly/src/plan/system-activemq-plan.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/src/plan/system-activemq-plan.xml?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/modules/assembly/src/plan/system-activemq-plan.xml (original)
+++ geronimo/trunk/modules/assembly/src/plan/system-activemq-plan.xml Sun Aug 21 20:26:39 2005
@@ -33,10 +33,14 @@
<uri>activeio/jars/activeio-${activeio_version}.jar</uri>
</dependency>
+ <!-- management -->
+ <gbean name="ActiveMQ" class="org.activemq.gbean.management.ActiveMQManagerGBean" />
+
<!-- message broker -->
<gbean name="ActiveMQ" class="org.activemq.gbean.ActiveMQContainerGBean">
<attribute name="brokerName">possibly-unique-broker</attribute>
<reference name="persistenceAdapter"><gbean-name>geronimo.server:j2eeType=JMSPersistence,name=ActiveMQ.cache,*</gbean-name></reference>
+ <reference name="ConnectorCollection"><gbean-name>geronimo.server:j2eeType=JMSConnector,broker=ActiveMQ,*</gbean-name></reference>
</gbean>
<gbean name="ActiveMQ.cache" class="org.activemq.store.cache.SimpleCachePersistenceAdapterGBean">
@@ -56,13 +60,17 @@
<reference name="dataSource"><gbean-name>geronimo.server:J2EEApplication=null,J2EEServer=geronimo,JCAResource=org/apache/geronimo/SystemDatabase,j2eeType=JCAManagedConnectionFactory,name=SystemDatasource</gbean-name></reference>
</gbean>
- <gbean name="ActiveMQ.tcp.${PlanServerHostname}.${PlanActiveMQPort}" class="org.activemq.gbean.ActiveMQConnectorGBean">
- <attribute name="url">tcp://${PlanServerHostname}:${PlanActiveMQPort}</attribute>
+ <gbean gbeanName="geronimo.server:J2EEApplication=null,J2EEModule=org/apache/geronimo/ActiveMQServer,J2EEServer=geronimo,j2eeType=JMSConnector,broker=ActiveMQ,name=ActiveMQ.tcp.${PlanServerHostname}.${PlanActiveMQPort}" class="org.activemq.gbean.ActiveMQConnectorGBean">
+ <attribute name="protocol">tcp</attribute>
+ <attribute name="host">${PlanServerHostname}</attribute>
+ <attribute name="port">${PlanActiveMQPort}</attribute>
<reference name="activeMQContainer"><gbean-name>geronimo.server:j2eeType=JMSServer,name=ActiveMQ,*</gbean-name></reference>
</gbean>
- <gbean name="ActiveMQ.vm.localhost" class="org.activemq.gbean.ActiveMQConnectorGBean">
- <attribute name="url">vm://localhost</attribute>
+ <gbean gbeanName="geronimo.server:J2EEApplication=null,J2EEModule=org/apache/geronimo/ActiveMQServer,J2EEServer=geronimo,j2eeType=JMSConnector,broker=ActiveMQ,name=ActiveMQ.vm.localhost" class="org.activemq.gbean.ActiveMQConnectorGBean">
+ <attribute name="protocol">vm</attribute>
+ <attribute name="host">localhost</attribute>
+ <attribute name="port">-1</attribute>
<reference name="activeMQContainer"><gbean-name>geronimo.server:j2eeType=JMSServer,name=ActiveMQ,*</gbean-name></reference>
</gbean>
Modified: geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/J2EEServerImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/J2EEServerImpl.java?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/J2EEServerImpl.java (original)
+++ geronimo/trunk/modules/j2ee/src/java/org/apache/geronimo/j2ee/management/impl/J2EEServerImpl.java Sun Aug 21 20:26:39 2005
@@ -32,6 +32,7 @@
import org.apache.geronimo.management.geronimo.J2EEServer;
import org.apache.geronimo.management.geronimo.WebContainer;
import org.apache.geronimo.management.geronimo.EJBContainer;
+import org.apache.geronimo.management.geronimo.JMSManager;
import org.apache.geronimo.pool.GeronimoExecutor;
/**
@@ -124,6 +125,16 @@
public String getEJBContainer() {
GBeanQuery query = new GBeanQuery(null, EJBContainer.class.getName());
+ Set set = kernel.listGBeans(query);
+ if(set.size() == 0) {
+ return null;
+ } else { // ignore possibility of multiple results
+ return ((ObjectName)set.iterator().next()).getCanonicalName();
+ }
+ }
+
+ public String getJMSManager() {
+ GBeanQuery query = new GBeanQuery(null, JMSManager.class.getName());
Set set = kernel.listGBeans(query);
if(set.size() == 0) {
return null;
Modified: geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/J2EEServer.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/J2EEServer.java?rev=234422&r1=234421&r2=234422&view=diff
==============================================================================
--- geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/J2EEServer.java (original)
+++ geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/J2EEServer.java Sun Aug 21 20:26:39 2005
@@ -42,6 +42,15 @@
public String getEJBContainer();
/**
+ * Gets the ObjectName of the JMS Manager associated with this
+ * J2EEServer, or null if there is none in the current server
+ * configuration.
+ *
+ * @return The ObjectName of the JMS Manager, in String form.
+ */
+ public String getJMSManager();
+
+ /**
* Gets the ObjectNames of the thread pools associated with this
* J2EEServer.
*
Added: geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSBroker.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSBroker.java?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSBroker.java (added)
+++ geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSBroker.java Sun Aug 21 20:26:39 2005
@@ -0,0 +1,33 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.management.geronimo;
+
+/**
+ * Represents a JMS broker
+ *
+ * @version $Rev: 233346 $ $Date: 2005-08-18 14:08:26 -0400 (Thu, 18 Aug 2005) $
+ */
+public interface JMSBroker {
+ /**
+ * Gets the ObjectNames of the network connectors associated with this
+ * JMS broker.
+ *
+ * @return The ObjectNames of the thread pools, in String form.
+ */
+ public String[] getConnectors();
+
+}
Added: geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSConnector.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSConnector.java?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSConnector.java (added)
+++ geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSConnector.java Sun Aug 21 20:26:39 2005
@@ -0,0 +1,25 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.management.geronimo;
+
+/**
+ * Represents a JMS connector
+ *
+ * @version $Rev: 233346 $ $Date: 2005-08-18 14:08:26 -0400 (Thu, 18 Aug 2005) $
+ */
+public interface JMSConnector extends NetworkConnector {
+}
Added: geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSManager.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSManager.java?rev=234422&view=auto
==============================================================================
--- geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSManager.java (added)
+++ geronimo/trunk/modules/management/src/java/org/apache/geronimo/management/geronimo/JMSManager.java Sun Aug 21 20:26:39 2005
@@ -0,0 +1,51 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.management.geronimo;
+
+/**
+ * Main entry point for managing a certain JMS server implementation
+ *
+ * @version $Rev: 46228 $ $Date: 2004-09-16 21:21:04 -0400 (Thu, 16 Sep 2004) $
+ */
+public interface JMSManager extends NetworkContainer {
+ /**
+ * Gets the ObjectNames of any JMS servers/brokers running in the current
+ * Geronimo instance.
+ */
+ public String[] getBrokers();
+
+ /**
+ * Gets the ObjectNames of any existing connectors for the specified
+ * protocol associated with the specified broker.
+ *
+ * @param protocol A protocol as returned by getSupportedProtocols
+ */
+ public String[] getBrokerConnectors(String brokerObjectName, String protocol);
+
+ /**
+ * Gets the ObjectNames of any existing connectors associated with the
+ * specified broker.
+ */
+ public String[] getBrokerConnectors(String brokerObjectName);
+
+ /**
+ * Creates a new connector, and returns the ObjectName for it. Note that
+ * the connector may well require further customization before being fully
+ * functional (e.g. SSL settings for a secure connector).
+ */
+ public String addConnector(String broker, String uniqueName, String protocol, String host, int port);
+}
Re: svn commit: r234422 - in /geronimo/trunk:
applications/console-core/src/java/org/apache/geronimo/console/util/
applications/console-framework/src/webapp/WEB-INF/data/
applications/console-standard/src/java/org/apache/geronimo/console/
applications/cons...
Posted by Aaron Mulder <am...@alumni.princeton.edu>.
The answer to all of the below is that I copy and pasted a header
from some file that had one into the new files I created. So any errors
or variations weren't intentional, but because they were present in the
files I copied from. :)
Aaron
On Tue, 23 Aug 2005, Jacek Laskowski wrote:
> ammulder@apache.org wrote:
> > Author: ammulder
> > Date: Sun Aug 21 20:26:39 2005
> > New Revision: 234422
> >
> > URL: http://svn.apache.org/viewcvs?rev=234422&view=rev
>
> Hi Aaron,
>
> I don't like the license hell, so whenever I see a change in a license
> I'd better ask before accepting it.
>
> > Added: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java
> > URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java?rev=234422&view=auto
> > ==============================================================================
> > --- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java (added)
> > +++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java Sun Aug 21 20:26:39 2005
> > @@ -0,0 +1,92 @@
> > +/**
> > + *
> > + * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
>
> I don't understand the rest after The Apache Software Foundation. Did I
> miss when we decided to use such a copyright?
>
> > Added: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java
> > URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java?rev=234422&view=auto
> > ==============================================================================
> > --- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java (added)
> > +++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java Sun Aug 21 20:26:39 2005
> > @@ -0,0 +1,51 @@
> > +/**
> > + *
> > + * Copyright 2003-2004 The Apache Software Foundation
>
> I first thought that if I had missed the change in the license header it
> would have been applied to all classes in applications/console-*. It
> seems to be not the case. Why is that?
>
> Since it's a new file - BaseJMSPortlet - shouldn't the year be changed
> to 2005 only?
>
> Jacek
>
>
Re: svn commit: r234422 - in /geronimo/trunk: applications/console-core/src/java/org/apache/geronimo/console/util/
applications/console-framework/src/webapp/WEB-INF/data/ applications/console-standard/src/java/org/apache/geronimo/console/
applications/cons...
Posted by Jacek Laskowski <jl...@apache.org>.
ammulder@apache.org wrote:
> Author: ammulder
> Date: Sun Aug 21 20:26:39 2005
> New Revision: 234422
>
> URL: http://svn.apache.org/viewcvs?rev=234422&view=rev
Hi Aaron,
I don't like the license hell, so whenever I see a change in a license
I'd better ask before accepting it.
> Added: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java
> URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java?rev=234422&view=auto
> ==============================================================================
> --- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java (added)
> +++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/BasePortlet.java Sun Aug 21 20:26:39 2005
> @@ -0,0 +1,92 @@
> +/**
> + *
> + * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
I don't understand the rest after The Apache Software Foundation. Did I
miss when we decided to use such a copyright?
> Added: geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java
> URL: http://svn.apache.org/viewcvs/geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java?rev=234422&view=auto
> ==============================================================================
> --- geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java (added)
> +++ geronimo/trunk/applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/server/BaseJMSPortlet.java Sun Aug 21 20:26:39 2005
> @@ -0,0 +1,51 @@
> +/**
> + *
> + * Copyright 2003-2004 The Apache Software Foundation
I first thought that if I had missed the change in the license header it
would have been applied to all classes in applications/console-*. It
seems to be not the case. Why is that?
Since it's a new file - BaseJMSPortlet - shouldn't the year be changed
to 2005 only?
Jacek