9 Replies Latest reply on Dec 15, 2011 11:01 AM by rcernich

    Switchyard Console (1.0.0.Beta17) not working, remoting IOException

    willimur

      With no small amount of excitement, I've been wanting to kick the tires of Switchyard a bit since the 0.3.0 release came out. (I'm pretty new to ESB patterns and have been working with CDI a lot recently, so Switchyard seemed like the perfect jumping-in point.)

       

      I think I'm able to get Switchyard to run, but I was hoping to be able to use its console to "see" the modules I'm deploying, and the console is just not working.

       

      In case it had something to do with the deployment, I installed JBoss AS7 + Switchyard fresh three different ways:

      1. On my Mac laptop, using the AS7+Switchyard bundle
      2. On my Mac laptop with a fresh AS7.0.2 + the Switchyard installer
      3. On a Linux server with a fresh AS7.0.2 + the Switchyard installer

       

      Given the error messages (which I'll mention in a moment) I suspected there could be something wrong with port configurations, just in case the Mac laptop had a conflict with some other running system, thus the standalone installation on a fresh Linux system.

       

      The error message that shows up on the console log is

       

      ERROR [org.jboss.remoting.remote] (XNIO NIO Read 6) JBREM00200: Remote connection failed: java.io.IOException: Window open for non-existent channel

       

      or sometimes the last part read "java.io.IOException: Message data for non-existent channel" instead. These lines show up whenever I click on any of the Components sections in the console. Makes me wonder if it has something to do with the GWT communications, but looking at by browser's debugger when I click on the items, I'm seeing GTW data (encoded... looks meaningless) coming and going.

       

      I have noticed that there was a comment in the Git console about SWITCHYARD-361 (update console to use new admin functionality) suggesting that there was a bug that cropped up with AS7 (AS7-1296) that might be causing this.

       

      My questions are (a) can anyone confirm that this is normal and not an indication of something I did wrong in my setup and deployment? and (b) are there any other ways to interact with the Switchyard system to list the running components and otherwise debug the environment?

       

      Okay, two other similar questions...

      • is there an easy way to get the console to run in the OpenShift + SwitchYard environment?, and
      • (related to my other question about interacting with the Switchyard system) is therer a text/forge/service-call approach that could be used with an OpenShift + SwitchYard environment to see the deployed components, etc.?
        • 1. Re: Switchyard Console (1.0.0.Beta17) not working, remoting IOException
          rcernich

          Hey Murray,

           

          Sorry to hear you are having problems.

          ERROR [org.jboss.remoting.remote] (XNIO NIO Read 6) JBREM00200: Remote connection failed: java.io.IOException: Window open for non-existent channel

          Unfortunately, these are spurious errors.  I believe they have something to do with remoting of the management calls.  These should clear up once the console is integrated with the core AS7 console.

           

           

          I'm seeing GTW data (encoded... looks meaningless) coming and going.

          This is the native form of the calls to the management subsystem (encoded JSON).

           

          My questions are (a) can anyone confirm that this is normal and not an indication of something I did wrong in my setup and deployment? and (b) are there any other ways to interact with the Switchyard system to list the running components and otherwise debug the environment?

          A.  You did nothing wrong.

          B.  The SwitchYard console is simply a view atop the management functionality registered by SwitchYard.  This means you can access all information through the JBoss admin command line (i.e. $AS7_HOME/bin/jboss-admin.sh).  Some commands of interest: (note, the preceding ':' is required)

           

          // move to the switchyard subsystem
          cd /subsystem=switchyard
          :get-version
          :list-components
          :list-applications
          :list-services
          
          :read-component
          :read-application
          :read-service
          
          // move to a deployment.  substitute "deployment name" and "application name" as applicable.  note, you can use TAB for autocomplete.
          cd /deployment=<deployment name>/subsystem=switchyard/application=<application qname>
          :read-reasource
          

           

          The above is a summary of the SwitchYard specific commands.  All of the operations under "subsystem=switchyard" provide descriptions of their use (e.g. :read-operation-description(name=list-applications) ).  Refer to the AS7 documentation regarding the management console for more details.

           

           

          Okay, two other similar questions...

          • is there an easy way to get the console to run in the OpenShift + SwitchYard environment?, and
          • (related to my other question about interacting with the Switchyard system) is therer a text/forge/service-call approach that could be used with an OpenShift + SwitchYard environment to see the deployed components, etc.?

          Unfortunately, I don't have answers for those.

           

          Hope that helps a bit.

           

          Best,

          Rob

          1 of 1 people found this helpful
          • 2. Re: Switchyard Console (1.0.0.Beta17) not working, remoting IOException
            willimur

            Thanks.

             

            That's a big help (both the confirmation that I'm not doing anything wrong in my deployment and the jboss-admin console notes).

            • 3. Re: Switchyard Console (1.0.0.Beta17) not working, remoting IOException
              kcbabo

              Are you able to view the console @ http://localhost:8080/switchyard/ independent of the ERROR messages in the log?  If not, please let us know.  I just downloaded the SwitchYard AS7 distro and the tools bundle and verified that the console does work.  After unzipping both, I copied switchyard-console-gwt.war to switchyard-as7-0.3/standalone/deployments and the console was good to go.

               

              cheers,

              keith

              • 4. Re: Switchyard Console (1.0.0.Beta17) not working, remoting IOException
                kcbabo

                Okay, two other similar questions...

                • is there an easy way to get the console to run in the OpenShift + SwitchYard environment?, and
                • (related to my other question about interacting with the Switchyard system) is therer a text/forge/service-call approach that could be used with an OpenShift + SwitchYard environment to see the deployed components, etc.?

                 

                I can't think of any reason why the console wouldn't work inside of OpenShift.  Be sure to use the instructions in our template application to get all the necessary config and modules in place.  Then copy the switchyard-console war into the deployments directory of your OpenShift application.  Once you push, the console app will be deployed along with the SwitchYard application.  The console war is pretty big - so the upload could take a while.

                 

                There is no support outside of the rhc-* tools to manage/monitor your application inside of OpenShift.  I think the AS team is looking at exposing the AS7 CLI... maybe. :-) Magesh will know for sure and I'm sure he'll chime in when he comes online.  If that happens, then you could use some of the commands that Rob listed earlier.  When we move to Flex, then the possibilities open up a bit and we plan to explore that in a future release. 

                • 5. Re: Switchyard Console (1.0.0.Beta17) not working, remoting IOException
                  mageshbk

                  Hi Murray,

                   

                  Yes the AS7 CLI access is on the cards. But it might be a while. The OpenShift Express is resource restricted as of today. You can consider hosting a single application in one instance at the moment and it is not recommended for heavy use. But if you move to OpenShift Flex, you get unlimited resources. Flex is the place where you might deploy the SwitchYard console too.

                   

                  In any case, to know the list of components that are deployed to either of these servers, you can examine the config file at <your app>/.openshift/config. You can enable and disable the subsystems and SwitchYard components via the configuration there and push to the cloud. You can tail the server logs using the rhc-tail-files command. More info is here Scott Stark's Blog: Getting your logs from Express | JBoss Community

                   

                  Hope this helps!

                  Magesh

                  • 6. Re: Switchyard Console (1.0.0.Beta17) not working, remoting IOException
                    willimur

                    Keith Babo wrote:

                     

                    Are you able to view the console @ http://localhost:8080/switchyard/ independent of the ERROR messages in the log?  If not, please let us know.  I just downloaded the SwitchYard AS7 distro and the tools bundle and verified that the console does work.  After unzipping both, I copied switchyard-console-gwt.war to switchyard-as7-0.3/standalone/deployments and the console was good to go.

                     

                    cheers,

                    keith

                     

                    Keith,

                     

                    Yes, I do appear to be able to use the Switchyard Console. I was able to walk through your SwitchYard and Forge video (that was a godsend for getting me on my first "helloworld" path!) and deploy a service and then I could actually look at it in the console. Otherwise I wasn't sure whether the console was working or not—out of the box since the components don't really have any settings and there aren't any services, I didn't know if the console was working or if I was just sort of seeing an unpopulated UI shell, if that makes any sense.

                     

                    One thing that doesn't seem to be working is the little "settings" link under the big SwitchYard banner. If I click it I see in the messages section "Could not reveal: settings". Probably not a big deal.

                     

                    Murray

                    • 7. Re: Switchyard Console (1.0.0.Beta17) not working, remoting IOException
                      kcbabo

                      Good deal.  If you want to see some action in the console, I recommend building and deploying some of the quickstarts in the SwitchYard distribution.  You can go into the quickstarts/ directory and use "mvn install" to build them all.  Then deploy some (e.g. bean-service) to the server and check the console again. 

                      • 8. Re: Switchyard Console (1.0.0.Beta17) not working, remoting IOException
                        willimur

                        Keith Babo wrote:

                         

                        I can't think of any reason why the console wouldn't work inside of OpenShift.  Be sure to use the instructions in our template application to get all the necessary config and modules in place.  Then copy the switchyard-console war into the deployments directory of your OpenShift application.  Once you push, the console app will be deployed along with the SwitchYard application.  The console war is pretty big - so the upload could take a while.

                         

                         

                        Well, I was able to create the template application, added the sample service (via forge), ran mvn package, added the console war to the deployments directory, git added, committed and pushed. You were right—it took a while upload things with the console war. The console does display, but I couldn't any components. The "System Details Runtime Version:" just shows a blank space, no "0.3.0.Final" or anything. No components list.

                         

                        Not that this is a big deal at the moment. It would be cool to be able to deploy my first test services to the OpenShift Express cloud (and be able to see and debug them) as some first steps, but I realize we're in the "0.x" version of things. (I'm pretty blown away by everything. It really feels like AS7+SwitchYard is the culmination of everything CDI promised, all in one neat package.)

                         

                        Thanks again,

                         

                        Murray

                        • 9. Re: Switchyard Console (1.0.0.Beta17) not working, remoting IOException
                          rcernich

                          Hey Murray

                          Well, I was able to create the template application, added the sample service (via forge), ran mvn package, added the console war to the deployments directory, git added, committed and pushed. You were right—it took a while upload things with the console war. The console does display, but I couldn't any components. The "System Details Runtime Version:" just shows a blank space, no "0.3.0.Final" or anything. No components list.

                           

                          That makes sense, based on what Magesh said (the console redirects to the management interface under the hood so it can't get the information to display).

                           

                          Thanks for trying it out.

                          Rob