No problem at all. See my answers inline...
jbx schrieb: > Hi Lars, > > Sorry for being so pedantic... but I am really trying to understand the > details properly. > > 1. I dont have anything like this: > xmlns:cp="http://www.compart.net/ns/jbi" > in my xbean.xml (from the example) I have xmlns:xyz="http://companyxyz.com" > This obviously does not exist. (What is it anyway?) > > --> of course you don't have this because it's a namespace I use in my local project. You should replace the xmlns:xyz with for example xmlns:test. This test is only the prefix for the tags which may follow now. Replace the "http://companyxyz.com" with the namespace you have in the pom.xml of your binding component. See there the namespace tag. > Can I remove it? When I take it off my IDE complains that the <beans> tag is > not declared. However if I leave it there the IDE complains that > http://companyxyz.com does not exist (obviously). What should it be? > > --> the beans tag is of course needed. You can't remove it. > 2. I discovered that under ~\hello-world-smx\hello-world-bc\target\xbean > there is a file hello-world-bc.xsd. I set my IDE to map > http://org.apache.servicemix.samples.helloworld.bc/1.0 to that local path. > > Now the IDE can help me autocomplete a valid xbean.xml. > > I followed your previous instructions and I now have something like this: > > <beans xmlns:hwbc="http://org.apache.servicemix.samples.helloworld.bc/1.0" > xmlns:xyz="http://companyxyz.com"> > > <hwbc:provider service="" endpoint="" definition="" > component="" description="" id="" > interfaceName="" serviceUnit="" xml:lang=""> > > </hwbc:provider> > </beans> > > --> in the above code you set the prefix "hwbc" to your namespace "http://org.apache.servicemix.samples.helloworld.bc/1.0". The other namespace "xyz" is only needed to route a message to another service for example. The definition you have now is okay for the basics, but you need to configure it now properly. > How do you know what to put in there? What is the correct service, endpoint, > interfaceName etc. in my case and from where should I get it? > > --> for the beginning you just name the service, this service unit provides. Lets say it will be the Hello-Service. So adapt the service attribute to be "xyz:hello". xyz is now your namespace of choice and the hello is the service name of this SU. Now give the endpoint a name: "consumerEndpoint" will do for now. Forget about the other attributes as I never needed them before and maybe you won't need them for now as well. > 3. How did you get these custom properties through your component in the > provider definition? > > period="10000" > debugMode="false" > connection="imaps://[EMAIL PROTECTED]/INBOX?password=pass" > deleteProcessedMessages="false" > processOnlyUnseenMessages="true" /> > > When I develop my own BC I will obviously need to specify my custom > properties to set it up (connection settings etc). No idea how to go about > that and the tutorial obviously doesnt include that yet. > > --> yes, you will need add. properties most of the time. To have such properties injected to your endpoint's config you have to do the following... For example to define a String property: In your endpoint class define a String property... private String logPath; Now add public getter and setter for this property. (most IDE will offer you this) public String getLogPath() { return this.logPath; } public void setLogPath(String logPath) { this.logPath = logPath; } Now you can refer from your xbean to this property by doing this: <hwbc:provider service="xyz:hello" endpoint="consumerEndpoint" logPath="/tmp/"> > 4. The xsd specifies 3 main tags, the Provider, the Consumer and the > Component. I suppose that the Consumer is required when the > MyConsumerEndpoint needs to be used. What about the Component? Do I need to > have it in the xbean.xml? When should it be used and what is it for? > > To be honest I never had it specified in my xbean files. No real idea what are they for. Maybe it's for the component attribute of the endpoint. > Again, apologies for getting stuck so much. At least it might help you close > some gaps for the next version of the Hello World BC tutorial :) > > > You are also welcome to add unclear things to the todo list. Regards Lars > > > > > lhe77 wrote: > >> Ok, I will give you a quick example: >> >> I developed for example a servicemix-mail binding component. >> There are 2 kind of endpoint types known by the mail component... >> The poller will serve as the example: >> >> /** >> * This is the polling endpoint for the mail component. >> * >> * @org.apache.xbean.XBean element="poller" >> * @author lhein >> */ >> public class MailPollerEndpoint extends PollingEndpoint implements >> MailEndpointType { >> .... >> } >> >> See the annotation element = "poller". This defines how the endpoint is >> refered to from inside your SU's xbean.xml. >> It looks like this: >> >> <?xml version="1.0"?> >> <beans xmlns:mail="http://servicemix.apache.org/mail/1.0" >> xmlns:cp="http://www.compart.net/ns/jbi"> >> >> <mail:poller service="cp:email" endpoint="emailPollEndpoint" >> targetService="cp:inputRouter" >> targetOperation="cp:process" >> period="10000" >> debugMode="false" >> connection="imaps://[EMAIL PROTECTED]/INBOX?password=pass" >> deleteProcessedMessages="false" >> processOnlyUnseenMessages="true" /> >> </mail:poller> >> </beans> >> >> You can see here the >> <mail:poller ... >> where you find the term "poller" again. It means you refer to the >> MailPollerEndpoint.java class. >> >> Where does the <mail: comes from? Look at the pom.xml of the >> servicemix-mail binding component. >> You will find a section like this: >> >> <plugin> >> <groupId>org.apache.xbean</groupId> >> <artifactId>maven-xbean-plugin</artifactId> >> <version>${xbean-version}</version> >> <executions> >> <execution> >> <goals> >> <goal>mapping</goal> >> </goals> >> <configuration> >> <namespace>http://servicemix.apache.org/mail/1.0</namespace> >> </configuration> >> </execution> >> </executions> >> </plugin> >> >> Look at the namespace tag. And now look at the xbean.xml above and you >> will find exactly this namespace defined to be the mail namespace: >> >> <beans xmlns:mail="http://servicemix.apache.org/mail/1.0" ... >> >> I hope this clarifies the usage a little. If you have further problems, >> just let us know. >> >> Regards >> Lars >> >> >> >> jbx schrieb: >> >>> Hi Lars, >>> >>> I noticed that the Hello World BC has been updated with a long list of >>> TODOs >>> :) >>> >>> I am still struggling to get the xbean.xml configured correctly >>> (hopefully I >>> manage today by syndicating some other tutorials and documentation around >>> combined with guesswork). I didnt quite understand your <component:...> >>> part >>> and dont know what to add in my xbean yet. I strongly suggest that in the >>> tutorial the full working xbean.xml for the SU is put. >>> >>> I tried to go to jconsole but (I suppose because of the xbean problem) >>> the >>> HelloWorld endpoint is missing from the list of endpoints under >>> ServiceMix->Endpoint. >>> >>> I also tried to follow the namespace (from the BC) but >>> http://org.apache.servicemix.samples.helloworld.bc/1.0 does not exist so >>> not >>> even my IDE can auto-complete the tags. >>> >>> If you are developing your own BC, how do you create your namespace? I >>> dont >>> think it should be referring to servicemix.samples.helloworld.bc right? >>> >>> Thanks again. >>> >>> >>> >>> >>> lhe77 wrote: >>> >>> >>>> For your testing error: >>>> >>>> Open up a jconsole and connect to your running smx instance. >>>> Then browse to: >>>> >>>> org.apache.servicemix > ServiceMix > Endpoint >>>> >>>> There watch out for your helloWorld endpoint. >>>> Select and expand the item to External and select the >>>> Attributes node. >>>> >>>> Now you can see the serviceName of the endpoint in the list to the >>>> right. >>>> This is the uri to send the test messages to I think. >>>> >>>> Just to show you also the JMX opportunities of the smx. :) >>>> >>>> Regards >>>> Lars >>>> >>>> >>>> >>>> Lars Heinemann schrieb: >>>> >>>> >>>>> I think now I better understand your point of view. >>>>> The tutorial really lacks some important information and is also >>>>> plain wrong in some descriptions. I will update this tutorial asap. >>>>> >>>>> For the meanwhile...see my comments inside your mail: >>>>> >>>>> >>>>> jbx schrieb: >>>>> >>>>> >>>>> >>>>>> Hi Lars, >>>>>> >>>>>> The fact that you have to skip from one tutorial to another trying to >>>>>> 'infer' how things should be done (apart from the fact that the latest >>>>>> Maven >>>>>> and its Archetypes do not match the tutorial) simply confuses newbies >>>>>> and >>>>>> creates immense frustration instead of appreciation of the strength of >>>>>> the >>>>>> technology they're trying to learn. >>>>>> >>>>>> How should someone who has just heard about a Service Unit suddenly >>>>>> become >>>>>> an expert and 'know' how to do the SU for a BC if it is not in the >>>>>> tutorial? >>>>>> >>>>>> Just to verify that I am not missing anything out I have done >>>>>> everything >>>>>> from scratch again, sorry if its long: >>>>>> >>>>>> 1. Created directory hello-world-smx and changed the working directory >>>>>> to >>>>>> it. >>>>>> 2. Created the servicemix-binding-component archetype from maven >>>>>> >>>>>> Problem: This does not work: >>>>>> >>>>>> mvn archetype:create \ >>>>>> -DarchetypeGroupId=org.apache.servicemix.tooling \ >>>>>> -DarchetypeArtifactId=servicemix-binding-component \ >>>>>> -DarchetypeVersion=3.2.1 \ >>>>>> -DgroupId=org.apache.servicemix.samples.helloworld.bc \ >>>>>> -DartifactId=hello-world-bc >>>>>> >>>>>> To follow the tutorial in the same way it has to be: >>>>>> mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create >>>>>> \ >>>>>> -DarchetypeGroupId=org.apache.servicemix.tooling \ >>>>>> -DarchetypeArtifactId=servicemix-binding-component \ >>>>>> -DarchetypeVersion=3.2.1 \ >>>>>> -DgroupId=org.apache.servicemix.samples.helloworld.bc \ >>>>>> -DartifactId=hello-world-bc >>>>>> >>>>>> It worked for the Getting Started tutorials, so I guess nothing wrong >>>>>> with >>>>>> the above. >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --> This is a known issue for which even a JIRA exists. The solution >>>>> you >>>>> choose was correct. >>>>> I will put a hint to the section in the tutorial. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> 3. mvn install worked. >>>>>> 4. created the respective IDE project file: mvn idea:idea >>>>>> 5. modified MyProviderEndpoint.processInOut() accordingly >>>>>> 6. modified MySpringComponentTest accordingly and performed mvn >>>>>> install >>>>>> >>>>>> When executing MySpringComponentTest it works fine and the >>>>>> hello-world-bc >>>>>> converts the message. >>>>>> >>>>>> 7. Deploying the BC to ServiceMix. >>>>>> >>>>>> It is not clear if the BC is separate to the SU or the SU is a zip >>>>>> file >>>>>> which also contains the BC. In this tutorial it states that mvn >>>>>> install >>>>>> has >>>>>> created an install zip file which can be deployed into servicemix, but >>>>>> this >>>>>> does not complete the deployment of the BC since it needs an SU. >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --> imho the BC should be deployed standalone as it should a generic >>>>> protocol bridge >>>>> which may be used by several other service units. The zip file of the >>>>> bc >>>>> is just dropped to the hotdeploy folder of your smx installation and >>>>> will be deployed automatically. >>>>> >>>>> >>>>> >>>>> >>>>>> From other places on the service-mix site I learnt that an SU is >>>>>> essentially >>>>>> like a war file. So one thinks, should I create the SU before >>>>>> deploying >>>>>> the >>>>>> BC into servicemix and deploy 1 zip file (like we do for a webapp) >>>>>> which >>>>>> contains the SU which in itself contains the BC. This is quite >>>>>> confusing. >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --> no, the BC should be the first step to create. when the bc is >>>>> deployed you may create a SU and the SA which is in fact only a deploy >>>>> format for the SU and the SA's zip will be dropped into the hotdeploy >>>>> folder as well. If the dependency settings of your SU are pointing to >>>>> your BC then it should even tell you if the BC is not deployed to smx. >>>>> You can try it if you remove the BC and try to deploy only the SA. smx >>>>> will tell you in the console that it now awaits the deployment of the >>>>> hello-world-bc before finishing the deployment of the SA. >>>>> >>>>> >>>>> >>>>> >>>>>> I put the BC install file into servicemix /hotdeploy, even though this >>>>>> seems >>>>>> to contradict the above reasoning, but I guess I misunderstood >>>>>> something >>>>>> here. >>>>>> >>>>>> Problem: >>>>>> >>>>>> ERROR - InstallerMBeanImpl - Class not found: >>>>>> org.apache.servicemix.samples.helloworld.bc.MyBootstrap >>>>>> java.lang.ClassNotFoundException: >>>>>> org.apache.servicemix.samples.helloworld.bc.My >>>>>> Bootstrap in classloader >>>>>> org.apache.servicemix.samples.helloworld.bc.MyBootstrap >>>>>> at >>>>>> org.apache.xbean.classloader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:206) >>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >>>>>> at >>>>>> org.apache.servicemix.jbi.framework.InstallerMBeanImpl.createBootstrap(InstallerMBeanImpl.java:120) >>>>>> at >>>>>> org.apache.servicemix.jbi.framework.InstallerMBeanImpl.(InstallerMBeanImpl.java:68) >>>>>> at >>>>>> org.apache.servicemix.jbi.framework.InstallationService.initializeInstaller(InstallationService.java:447) >>>>>> at >>>>>> org.apache.servicemix.jbi.framework.InstallationService.doInstallComp >>>>>> onent(InstallationService.java:429) >>>>>> ... >>>>>> >>>>>> The only reference to Bootstrap in the tutorial is struck out, as if >>>>>> it >>>>>> is >>>>>> deprecated, but obviously it is not so. After some reasoning out I >>>>>> created a >>>>>> new MyBootstrap class which implements Bootstrap and implements its >>>>>> methods. >>>>>> Ran again mvn install and tried to deploy it again and it worked (I >>>>>> think). >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --> now as you are telling me this I can remember I had the same >>>>> problems and I did solve them by adding my own bootstrap class. You did >>>>> it correctly I think. Maybe gnodet or some other dev can tell you why >>>>> the archetype for the BC isn't working as it should. >>>>> >>>>> >>>>> >>>>> >>>>>> 8. Create the SU. >>>>>> >>>>>> The steps to create the SU are missing. Guesswork again, I jumped >>>>>> around >>>>>> to >>>>>> the Hello World SE tutorial instead. I again assume it is the same for >>>>>> both >>>>>> BC and SE. From now on I am practically on my own jumping from other >>>>>> tutorials and trying to figure things out the hard way: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --> wow, you are right. I really over-read this fact. It will be added >>>>> soon. >>>>> Basically you can use the archetype "servicemix-service-unit" for the >>>>> SU >>>>> creation in this case. >>>>> >>>>> >>>>> >>>>> >>>>>> I added the following dependency to pom.xml of hello-world-su: >>>>>> >>>>>> >>>>>> org.apache.servicemix.samples.helloworld.bc >>>>>> hello-world-bc >>>>>> 1.0-SNAPSHOT >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --> yes, this is correct if the version of your bc is really >>>>> 1.0-SNAPSHOT >>>>> >>>>> >>>>> >>>>> >>>>>> >>>>>> >>>>>> I added a new xbean.xml file under the resources folder of >>>>>> hello-world-su: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --> also done correctly. I suppose you used the servicemix-service-unit >>>>> archetype which doesn't provide an own xbean.xml. But you may copy >>>>> almost any other xbean...for example the xbean of the file-poller or >>>>> something similar. Be sure to adapt the xbean file correctly as it uses >>>>> some annotations of the endpoint classes. >>>>> In this case the endpoint should be defined: >>>>> >>>>> <component:provider ...... >>>>> >>>>> or >>>>> >>>>> <component:consumer ...... >>>>> >>>>> The component comes from the >>>>> >>>>> /** >>>>> * @org.apache.xbean.XBean element="component" >>>>> */ >>>>> public class MyComponent extends DefaultComponent { >>>>> >>>>> --> see the annotation, it will be used. >>>>> >>>>> >>>>> for provider or consumer see the corresponding classes >>>>> MyConsumerEndpoint and MyProviderEndpoint...it's same there. >>>>> >>>>> Also have a look at your BC's pom.xml file. There is a important >>>>> section >>>>> to get your namespace for the SU: >>>>> >>>>> .... >>>>> <plugin> >>>>> <groupId>org.apache.xbean</groupId> >>>>> <artifactId>maven-xbean-plugin</artifactId> >>>>> <version>${xbean-version}</version> >>>>> <executions> >>>>> <execution> >>>>> <configuration> >>>>> >>>>> --> see here the namespace, adapt it if you need to: >>>>> <namespace>http://${packageName}/1.0</namespace> >>>>> >>>>> </configuration> >>>>> <goals> >>>>> <goal>mapping</goal> >>>>> </goals> >>>>> </execution> >>>>> </executions> >>>>> </plugin> >>>>> .... >>>>> >>>>> This namespace will be used in your SU's xbean.xml. Just replace the >>>>> part after the xmlns:something="..." with your namespace set in the >>>>> BC's >>>>> pom. >>>>> >>>>> <?xml version="1.0"?> >>>>> <beans xmlns:something="someuri"> >>>>> <component:consumer .... >>>>> >>>>> >>>>> >>>>>> >>>>>> >>>>>> >>>>>> Again even the Hello World SE tutorial has lots of explanations >>>>>> missing. >>>>>> >>>>>> I assume I am done with the SU and try mvn install in its directory. >>>>>> >>>>>> >>>>>> 9. Create the SA >>>>>> >>>>>> Back to the original Hello World BC tutorial again. >>>>>> Created the SA through Maven OK. >>>>>> >>>>>> In the tutorial there is the following confusing statement: >>>>>> >>>>>> The hello-world-smx directory should now contain the following two >>>>>> directories: >>>>>> $ ls >>>>>> hello-world-sa hello-world-bc >>>>>> If the SU is needed, where is its directory?? >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --> it seems the author saw that the SU creation isn't in the wiki so >>>>> he >>>>> skipped it here as well. of course the SU directory is missing here. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> The tutorial proceeds with stating that the following needs to be >>>>>> added >>>>>> to >>>>>> the SA pom.xml: >>>>>> >>>>>> >>>>>> org.apache.servicemix.samples.helloworld.bc >>>>>> hello-world-bc >>>>>> 1.0-SNAPSHOT >>>>>> >>>>>> >>>>>> What about the SU?? >>>>>> >>>>>> >>>>>> >>>>>> >>>>> Imho this also makes no sense to me, but maybe there are existing other >>>>> deployment methods which make it possible. >>>>> The SA should only have the SU as dependency. The BC is a dependency of >>>>> the SU. >>>>> >>>>> >>>>> >>>>> >>>>>> I proceed blindly with mvn install within the SA directory. >>>>>> >>>>>> 10. The top level project >>>>>> >>>>>> The tutorial states: Now that we have created the SU and SA projects a >>>>>> top >>>>>> level pom.xml must be manually created and made aware of each >>>>>> subproject. >>>>>> pom.xml needs to be edited to include each subproject. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --> there is an open JIRA for having such a super pom archetype. Until >>>>> it is solved you have to do it manually. >>>>> >>>>> The pom should look like this: >>>>> >>>>> <?xml version="1.0" encoding="UTF-8"?> >>>>> <project xmlns="http://maven.apache.org/POM/4.0.0" >>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >>>>> http://maven.apache.org/maven-v4_0_0.xsd"> >>>>> >>>>> <modelVersion>4.0.0</modelVersion> >>>>> >>>>> <groupId>org.apache.servicemix.samples.helloworld</groupId> >>>>> <artifactId>hello-world-smx</artifactId> >>>>> <packaging>pom</packaging> >>>>> <version>1.0-SNAPSHOT</version> >>>>> <name>Hello World JBI Component</name> >>>>> >>>>> <modules> >>>>> <module>hello-world-bc</module> >>>>> <module>hello-world-su</module> >>>>> <module>hello-world-sa</module> >>>>> </modules> >>>>> >>>>> </project> >>>>> >>>>> >>>>> Remember this is only a build tool's instruction file. It has nothing >>>>> to >>>>> do with smx at this moment. It builds the BC first, then the SU and >>>>> finally the SA so all the internal dependencies are fine. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> <?xml version="1.0" encoding="UTF-8"?> >>>>>> >>>>>> >>>>>> 4.0.0 >>>>>> >>>>>> org.apache.servicemix.samples.helloworld >>>>>> hello-world-smx >>>>>> pom >>>>>> 1.0-SNAPSHOT >>>>>> Hello World JBI Component >>>>>> >>>>>> >>>>>> hello-world-sa >>>>>> hello-world-bc >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Again, where is the SU? >>>>>> >>>>>> The tutorial proceeds further stating that an ls should list the >>>>>> following >>>>>> files. >>>>>> >>>>>> $ ls >>>>>> hello-world-sa hello-world-bc pom.xml >>>>>> >>>>>> >>>>>> >>>>>> >>>>> no, it better should be: >>>>> >>>>> $ ls >>>>> hello-world-bc hello-world-sa hello-world-su pom.xml >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> If the SU is needed, where is it going to be included? >>>>>> >>>>>> >>>>>> 11. Give Each of the Maven Subprojects a Name >>>>>> 12. mvn clean install of the root folder >>>>>> >>>>>> 13. Deploying the Component >>>>>> >>>>>> Now that the SA is built, we're ready to deploy it to the JBI >>>>>> container. >>>>>> This is a work in progress. I will finish this up very soon. >>>>>> >>>>>> Again missing information. >>>>>> >>>>>> I just copied hello-world-sa-1.0-SNAPSHOT.jar. >>>>>> >>>>>> >>>>>> >>>>>> >>>>> You have to copy the BC and the SA zip files to the hotdeploy folder. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> At this point I am really looking forward to test the component out, >>>>>> so >>>>>> I >>>>>> just modified MySpringComponentTest to use the RemoteServiceMixClient >>>>>> in >>>>>> this way: >>>>>> >>>>>> RemoteServiceMixClient rc = new >>>>>> RemoteServiceMixClient("tcp://localhost:61616"); >>>>>> >>>>>> I am shooting blindly at this point since I am not sure what the QName >>>>>> URN >>>>>> should be etc., but assuming that it worked before on the >>>>>> DefaultServiceMixClient I try it out just the same. >>>>>> >>>>>> I get the following error: >>>>>> >>>>>> 3253 [main] WARN org.apache.servicemix.jbi.nmr.DefaultBroker - >>>>>> ServiceName >>>>>> ({urn:test}service) specified for routing, but can't find it >>>>>> registered >>>>>> ... >>>>>> javax.jbi.messaging.MessagingException: Could not find route for >>>>>> exchange: >>>>>> InOut[ >>>>>> id: ID:10.0.0.1-1191902c607-3:0 >>>>>> status: Active >>>>>> role: provider >>>>>> service: {urn:test}service >>>>>> in: <?xml version="1.0" encoding="UTF-8"?>world >>>>>> ] for service: {urn:test}service and interface: null >>>>>> at >>>>>> org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:297) >>>>>> at >>>>>> org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:830) >>>>>> ... >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --> the endpoint uri was wrong. See my above comments about the >>>>> namespace thing. >>>>> >>>>> >>>>> >>>>> >>>>>> With all the assumptions and guesswork I had to do, this tutorial is >>>>>> definitely NOT straightforward. I would appreciate if someone could >>>>>> correct >>>>>> me where I did a wrong step and tell me what I have to do to >>>>>> eventually >>>>>> test >>>>>> the component with RemoteServiceMixClient. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> --> you are right. it really needs a rework. >>>>> >>>>> Regards >>>>> Lars >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> Thanks. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> lhe77 wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> Yes, the service unit is needed because it configures the BC. >>>>>>> I had a look at the Hello World BC wiki page and it looks not that >>>>>>> bad >>>>>>> as you described it. >>>>>>> >>>>>>> Maybe you did not really understand how BC/SE, SU and SA plays >>>>>>> together. >>>>>>> BC and SE are engines, which are deployed to the smx. But when doing >>>>>>> it, >>>>>>> it does not >>>>>>> mean that you have then a working Hello World example. For doing such >>>>>>> example you have to deploy a Hello World ServiceUnit which configures >>>>>>> an >>>>>>> endpoint using the BC in a ServiceAssembly. >>>>>>> >>>>>>> Please re-read the whole wiki page and don't skip out things. If you >>>>>>> still have problems please describe what you already did and what's >>>>>>> the >>>>>>> problem exactly. >>>>>>> >>>>>>> Regards >>>>>>> Lars >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> jbx schrieb: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>> First of all I am a newbie, so please ignore my ignorance if my >>>>>>>> question >>>>>>>> is >>>>>>>> obvious. >>>>>>>> >>>>>>>> I have tried to follow the HelloWorld-BC tutorial but it is quite >>>>>>>> incomplete, so I hope to close the gaps here. I tried to look around >>>>>>>> and >>>>>>>> lots of people seemed to have problems too but there are no clear >>>>>>>> answers >>>>>>>> to >>>>>>>> my questions. >>>>>>>> >>>>>>>> 1. Is the Service Unit needed? If yes can I follow some other >>>>>>>> tutorial >>>>>>>> to >>>>>>>> get it done? I tried to follow the steps from other tutorials, but >>>>>>>> not >>>>>>>> sure >>>>>>>> if I omitted something. In the Hello-World-BC tutorial there is just >>>>>>>> this: >>>>>>>> >>>>>>>> == 1. Creating a Hello World BC Service Unit >>>>>>>> This is a work in progress >>>>>>>> >>>>>>>> 2. What are the steps to deploy the BC into the actual ServiceMix? >>>>>>>> Same >>>>>>>> problem with the documentation: >>>>>>>> >>>>>>>> == Deploying the Component >>>>>>>> Now that the SA is built, we're ready to deploy it to the JBI >>>>>>>> container. >>>>>>>> >>>>>>>> This is a work in progress. I will finish this up very soon >>>>>>>> >>>>>>>> I tried to reason things out and got to a point where I finally got >>>>>>>> ServiceMix to load my hello-world-sa (created the missing >>>>>>>> MyBootstrap.java >>>>>>>> etc.) However I must have missed something. >>>>>>>> >>>>>>>> I modified the MySpringComponentTest to use the >>>>>>>> RemoteServiceMixClient >>>>>>>> instead to access the ServiceMix JVM: >>>>>>>> >>>>>>>> RemoteServiceMixClient rc = new >>>>>>>> RemoteServiceMixClient("tcp://localhost:61616"); >>>>>>>> >>>>>>>> but I just got this error: >>>>>>>> >>>>>>>> 4875 [main] WARN org.apache.servicemix.jbi.nmr.DefaultBroker - >>>>>>>> ServiceName >>>>>>>> ({urn:test}service) specified for routing, but can't find it >>>>>>>> registered >>>>>>>> >>>>>>>> >>>>>>>> I suspect that this is something related to endpoints and the way >>>>>>>> the >>>>>>>> BC >>>>>>>> was >>>>>>>> deployed, but I have no idea what to do next. >>>>>>>> >>>>>>>> In the end I just want to learn how to develop my own BC for a >>>>>>>> specific >>>>>>>> protocol and have it accessible on the [ServiceMix] ESB from other >>>>>>>> clients >>>>>>>> remotely. >>>>>>>> >>>>>>>> Thanks. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> > >
