tomee embedded uses by default "Tomcat" instead of "Catalina". Alternative
is to use TomcatHelper.getServer() as entry point.


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>

2015-09-22 9:52 GMT-07:00 Yann BLAZART <[email protected]>
:

> Hello everybody.
>
> In my projects I need to know dynamically the remote port of the launched
> tomee-embedded (http/https).
>
> For that I user the following code :
> private Integer[] detectPort() {
>         Integer [] ports = new Integer[]{-1,-1};
>         try {
>             MBeanServer mBeanServer =
> MBeanServerFactory.findMBeanServer(null).get(0);
>             ObjectName name = new ObjectName("Catalina", "type", "Server");
>             Server server = (Server) mBeanServer.getAttribute(name,
> "managedResource");
>
>             Service[] services = server.findServices();
>             for (Service service : services) {
>                 for (Connector connector : service.findConnectors()) {
>                     ProtocolHandler protocolHandler =
> connector.getProtocolHandler();
>                     if (protocolHandler instanceof Http11Protocol
>                             || protocolHandler instanceof Http11AprProtocol
>                             || protocolHandler instanceof
> Http11NioProtocol) {
>                         if ( connector.getSecure() ) {
>                             ports[1] = connector.getPort();
>                         } else {
>                             ports[0]=connector.getPort();
>                         }
>                     }
>                 }
>             }
>         } catch (MalformedObjectNameException | MBeanException |
> AttributeNotFoundException | InstanceNotFoundException |
> ReflectionException ex) {
>             throw new EJBException(ex);
>         }
>         return ports;
>     }
>
>
> But this doesn't work with the tome-embedded plugin,.
>
> I readed that for tomcat I need to add <Listener
> className="org.apache.catalina.mbeans.ServerLifecycleListener" />
> In server.xml
>
> How can I do with tome embedded ?
>
>
> This message and any attachments (the "message") is
> intended solely for the intended addressees and is confidential.
> If you receive this message in error,or are not the intended recipient(s),
> please delete it and any copies from your systems and immediately notify
> the sender. Any unauthorized view, use that does not comply with its
> purpose,
> dissemination or disclosure, either whole or partial, is prohibited. Since
> the internet
> cannot guarantee the integrity of this message which may not be reliable,
> BNP PARIBAS
> (and its subsidiaries) shall not be liable for the message if modified,
> changed or falsified.
> Do not print this message unless it is necessary,consider the environment.
>
>
> ----------------------------------------------------------------------------------------------------------------------------------
>
> Ce message et toutes les pieces jointes (ci-apres le "message")
> sont etablis a l'intention exclusive de ses destinataires et sont
> confidentiels.
> Si vous recevez ce message par erreur ou s'il ne vous est pas destine,
> merci de le detruire ainsi que toute copie de votre systeme et d'en avertir
> immediatement l'expediteur. Toute lecture non autorisee, toute utilisation
> de
> ce message qui n'est pas conforme a sa destination, toute diffusion ou
> toute
> publication, totale ou partielle, est interdite. L'Internet ne permettant
> pas d'assurer
> l'integrite de ce message electronique susceptible d'alteration, BNP
> Paribas
> (et ses filiales) decline(nt) toute responsabilite au titre de ce message
> dans l'hypothese
> ou il aurait ete modifie, deforme ou falsifie.
> N'imprimez ce message que si necessaire, pensez a l'environnement.
>

Reply via email to