14 Replies Latest reply on Sep 3, 2012 2:58 PM by thomas.diesler

    Cannot access 'localhost:8090/jboss-osgi/bundles' link

    sivarenati

      Hi Frnds,

       

      I am using 'jboss-as-web-7.0.0.Final' server. I started the server and able to access the 'http://127.0.0.1:9990/console' link, but i am not able to access the Jboss-osgi admin link.(localhost:8090/jboss-osgi/bundles). Please help me on this, where i am doing mistake.

       

       

      Thanks in advance.

       

      Regards,

      Siva Renati

        • 1. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
          thomas.diesler

          Works for me. Did you enable the osgi subsystem and set framework start level to 2?

           

          <subsystem xmlns="urn:jboss:domain:osgi:1.0" activation="eager">

           

          <property name="org.osgi.framework.startlevel.beginning">2</property>

           

          The console bundle activates in this start level

          <module identifier="org.apache.felix.webconsole" startlevel="2"/>

           

          Please also note that AS-7.1.0.Final is available, which comes with a native GWT console that supports OSGi management

          • 2. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
            sivarenati

            thank u somuch Thomas. Its working now.

            • 3. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
              gautamcr

              Related issue which I cannot figure out. My standalone.xml file does not have the felix.webconsole entries in it at all. There is no point increasing my startlevel.beginning to 2, there is no webconsole module to start at that level. Any ideas?

               

                      <subsystem xmlns="urn:jboss:domain:osgi:1.2" activation="eager">

                          <properties>

                              <property name="org.osgi.framework.startlevel.beginning">

                                  2

                              </property>

                          </properties>

                          <capabilities>

                              <capability name="javax.servlet.api:v25"/>

                              <capability name="javax.transaction.api"/>

                              <capability name="org.apache.felix.log" startlevel="1"/>

                              <capability name="org.jboss.osgi.logging" startlevel="1"/>

                              <capability name="org.apache.felix.configadmin" startlevel="1"/>

                              <capability name="org.jboss.as.osgi.configadmin" startlevel="1"/>

                          </capabilities>

                      </subsystem>

               

              I searched for "webconsole" in all xml files under the AS7.1 nstallation and I get nothing.

              • 4. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
                gautamcr

                Whoa, discovered that there is a big difference between the 7.0.2 standalone.xml and 7.1.final standalone.xml?

                I find the webconsole entries in 7.0.2, but not in 7.1.0. I'm going to 7.0.2 for the time being till someone (me?) figures out what I'm missing!

                 

                                <property name="org.osgi.framework.startlevel.beginning">1</property>

                            </properties>

                            <modules>

                                <!-- modules registered with the OSGi layer on startup -->

                                <module identifier="javaee.api"/>

                                <module identifier="org.jboss.logging"/>

                                <!-- bundles installed on startup -->

                                <module identifier="org.apache.aries.util"/>

                                <module identifier="org.jboss.osgi.webconsole"/>

                                <module identifier="org.osgi.compendium"/>

                                <!-- bundles started in startlevel 1 -->

                                <module identifier="org.apache.felix.log" startlevel="1"/>

                                <module identifier="org.jboss.osgi.logging" startlevel="1"/>

                                <module identifier="org.apache.felix.configadmin" startlevel="1"/>

                                <module identifier="org.jboss.as.osgi.configadmin" startlevel="1"/>

                                <!-- bundles started in startlevel 2 -->

                                <module identifier="org.apache.aries.jmx" startlevel="2"/>

                                <module identifier="org.apache.felix.eventadmin" startlevel="2"/>

                                <module identifier="org.apache.felix.metatype" startlevel="2"/>

                                <module identifier="org.apache.felix.scr" startlevel="2"/>

                                <module identifier="org.apache.felix.webconsole" startlevel="2"/>      <-----------------

                                <module identifier="org.jboss.osgi.jmx" startlevel="2"/>

                                <module identifier="org.jboss.osgi.http" startlevel="2"/>

                                <!-- bundles started in startlevel 3 -->

                                <module identifier="org.jboss.osgi.blueprint" startlevel="3"/>

                                <module identifier="org.jboss.osgi.webapp" startlevel="3"/>

                                <module identifier="org.jboss.osgi.xerces" startlevel="3"/>

                            </modules>

                • 5. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
                  thomas.diesler

                  Have a look at the User Guide. It shows how you can provision the OSGi subsystem with arbitrary capabilities. Before we needed to ship the bundles that could be used by the subsystem auto start feature. Now we support maven coordinates in the capability name attribute. So you would simply specify the maven coordinates for the web console.

                   

                  <capability name="org.ops4j.pax.web:pax-web-jsp:1.1.2" startlevel="1"/>
                  <capability name="org.ops4j.pax.web:pax-web-jetty-bundle:1.1.2" startlevel="1"/>
                  <capability name="org.apache.felix:org.apache.felix.webconsole:3.1.6.SP1" startlevel="1"/>
                  

                   

                  By default the felix webconsole becomes available on http://localhost:8090/system/console

                   

                  This approach is deprecated however - we now offer OSGi management via the general GWT console on http://localhost:9990/console

                  • 6. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
                    gautamcr

                    Thanks Thomas. That worked.

                     

                    I had to add the following to the stanadlone.conf.bat to be able to access the repositories from behind my corporate firewall.

                     

                    • set "JAVA_OPTS=%JAVA_OPTS% Dhttp.proxyHost=<proxyhostname> -Dhttp.port=<port>"

                     

                    The GWT only seems to allow high level OSGi bundle mgmt from what I see. For anything more fine grained (like looking at contents of the bundles, exposed services etc)

                    the native Felix console is the only way? When you say "deprecated" will it just not be available out of the box and something we can always add like I did?

                    • 7. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
                      thomas.diesler

                      > For anything more fine grained (like looking at contents of the bundles, exposed services etc)the native Felix console is the only way?

                       

                      Please create feature requests for this in https://issues.jboss.org/browse/JBOSGI

                       

                      > not be available out of the box and something we can always add like I did

                       

                      Sure. Another aspect is that: "If we ship the bytes, we support the bytes"

                       

                      So you (your organization) ultimately would prefer that we ship the functionality that you need

                      • 8. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
                        crramirez

                        Hello, due to the Felix and Pax are not included in jboss 7.1. Where I can go to for them and how can I install them. I have tried many ways without result

                         

                        Regards

                        • 9. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
                          thomas.diesler

                          In 7.1.1.Final, 7.1.2.Final add these capabilities

                           

                          <capability name="org.ops4j.pax.web:pax-web-jetty-bundle:1.1.2" startlevel="1"/>
                          <capability name="org.ops4j.pax.web:pax-web-jsp:1.1.2" startlevel="1"/>
                          <capability name="org.apache.felix:org.apache.felix.webconsole:3.1.8" startlevel="1"/>
                          

                           

                          The console is then accessible on: http://localhost:8090/system/console

                           

                          In 7.2.0.Alpha1 add this capability

                           

                          <capability name="org.apache.felix:org.apache.felix.webconsole:3.1.8" startlevel="1"/>
                          

                           

                          The console is then accessible on: http://localhost:8080/httpservice/system/console

                           

                          The configuration is documented here.

                          • 10. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
                            thomas.diesler

                            I also added this to Getting Started in the wiki

                            • 11. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
                              crramirez

                              Hello,

                               

                              Thanks a lot for your answer, buit what I asking for (maybe this have an obvious answer) is for the jars i need to put in jboss in order for these capabilities work. If I put the jars of pax web in deployments folder it complains that cannot install them and if I put them in the bundles folder jboss won't recognize them.

                               

                              Or simpler, after I put those capabilities in the standalone.xml file waht is the next step?

                               

                              Regards,

                              Carlos

                              • 12. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
                                thomas.diesler

                                The next step is that it should work

                                 

                                Resource capabilities can either reference AS7 system modules/bundles from the module/bundles directory hierarchy or they can be maven coordinates. In the above case they are maven coordinates. On subsystem startup we asked the OSGi Repository to resolve the given capabilities. If a resource is not known to the repository but represents valid maven coordinates the repository will attempt to download the given resource and store it locally. On server restart the download should not happen again. Note, that the Repository will not store the resource in your local ~/.m2/repository but somewhere in AS7/standalone/data

                                • 13. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
                                  crramirez

                                  OK Thomas finally it worked and many people have this problem and it is not clear in the documentation, and JBoss team doesn't answer these questions because maybe thiks that the answer is so obvious.

                                   

                                  My problem is that JBoss Osgi NEED REQUIRES an Internet connection and in any part of the documentations say that. Because many of us run jboss in a controlled environment without Internet connection and for example me are behind a proxy. So it is very important to say in the documentation that these are maven coordinates due to not everyone that use jboss servers knows Maven (including me I use plain Ant), and say that Jboss will try to download its dependencies from Internet. Also the prozy support in maven is very bad only supports one protocol, and jboss repository is https, so I needed to add proxy system properties to the standalone.conf in order to work. Add to the documentation:

                                   

                                  • Say that OSGI support in JBoss is maven based and those capabilities included in the examples are maven coordinates and JBoss will try to download them from internet and will use maven specific proxy use that doesn't honor the http_prozy env variables.
                                  • Add examples for proxy support: JAVA_OPTS="$JAVA_OPTS -Dhttps.proxyHost=localhost -Dhttps.proxyPort=3128 -Dhttp.proxyHost=localhost -Dhttp.proxyPort=3128"
                                  • Say how to run jboss in disconnected mode because after install the modules jboss will check in internet for them everytime it startup (please say it to me as well)

                                   

                                  That's all. Believe me many people have this problem and is is not ansewer in forums. I searched a lot.

                                   

                                  Regards,

                                  Carlos

                                  • 14. Re: Can't able to access 'localhost:8090/jboss-osgi/bundles' link
                                    thomas.diesler

                                    Thanks Carlos, I update the docs accordingly for the next release.