|
Hi there,
I'm new to ServiceMix but not most of its constituent technologies, and was hoping this group could give us an idea of how to proceed with a requirement we have. We're trying to devise the best way to (a) take a ServiceMix installation with our bundles/dependencies the way we want them and (b) systematically remove unused bundles from the physical installation, (c) including cached content/debris. We might also express (b) as "remove all bundles save for those we identify and respective dependencies" (same difference). Either way, we want to avoid manually crawling the catalog, especially as we draw in more capabilities over time. In this way, we hope to have an installation we can duplicate wholesale for specific, constrained (in terms of storage) computing environments. Thanks for your time, in advance, and for this excellent suite of capabilities.
"Professional coder on closed source. Do not attempt."
|
|
well, smx is based on karaf; I think [1] could be what you're looking for?
Kind regards, Andreas [1] http://karaf.apache.org/manual/2.2.0/developers-guide/custom-distribution.html On Thu, Jun 9, 2011 at 2:21 AM, mcoyote <[hidden email]> wrote: > Hi there, > > I'm new to ServiceMix but not most of its constituent technologies, and was > hoping this group could give us an idea of how to proceed with a requirement > we have. > > We're trying to devise the best way to (a) take a ServiceMix installation > with our bundles/dependencies the way we want them and (b) systematically > remove unused bundles from the physical installation, (c) including cached > content/debris. We might also express (b) as "remove all bundles save for > those we identify and respective dependencies" (same difference). > > Either way, we want to avoid manually crawling the catalog, especially as we > draw in more capabilities over time. > > In this way, we hope to have an installation we can duplicate wholesale for > specific, constrained (in terms of storage) computing environments. > > Thanks for your time, in advance, and for this excellent suite of > capabilities. > > ----- > "Professional coder on closed source. Do not attempt." > -- > View this message in context: http://servicemix.396122.n5.nabble.com/Stripping-down-a-ServiceMix-installation-for-compact-redeployment-tp4471273p4471273.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > |
|
Hi there,
This is a useful reference (thank you), but unfortunately doesn't help us clean out excess content from the repo in advance of packaging. Our target environment has pretty constrained storage, so once we have assembled all of our code and dependencies we'd like to discard anything in the installation remaining unreferenced. We were hoping to find a systematic means of identifying/managing this from (perhaps) karaf or some other plumbing.
"Professional coder on closed source. Do not attempt."
|
|
The packaging of SMX is in the Assembly.
So if you want to cut down on "system" size, you either need to delete stuff or roll your own assembly. The previous karaf link is still pertinent as it has to do with what is loaded by default. /je On Jun 14, 2011, at 10:02 AM, mcoyote wrote: > Hi there, > > This is a useful reference (thank you), but unfortunately doesn't help us > clean out excess content from the repo in advance of packaging. > > Our target environment has pretty constrained storage, so once we have > assembled all of our code and dependencies we'd like to discard anything in > the installation remaining unreferenced. We were hoping to find a systematic > means of identifying/managing this from (perhaps) karaf or some other > plumbing. > > ----- > "Professional coder on closed source. Do not attempt." > -- > View this message in context: http://servicemix.396122.n5.nabble.com/Stripping-down-a-ServiceMix-installation-for-compact-redeployment-tp4471273p4488324.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. |
|
Hi there,
Thank you for clarifying that. This begs the question, though -- once you have a fully-populated installation, is there a way to systematically determine the minimum set to put in the assembly?
"Professional coder on closed source. Do not attempt."
|
|
Administrator
|
L.S.,
If you need a really trimmed down assembly, it's probably easier to start with a plain Karaf and adding bundles for features using the plugin as we do in ServiceMix itself - this will get you an assembly with only the bundles for your features in there, which is what you want, right? There's no tooling/commands/... for adding/removing bundles from the /system folder in an existing assembly at the moment. However... We regularly get questions like 'my server is not connected to the internet, could you add bundle x to the system folder', how about we provide a means for people to start an assembly, tweak it by adding/removing bundles and then export the result so it can be moved into a constrained environment afterwards? We already have the features-maven-plugin and an archetype for creating your own assembly, but perhaps we should provide an easier way for people that are only interested in preparing an assembly for a production deployment. Wdyt? Gert Vanthienen ------------------------ FuseSource Web: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ On Tue, Jun 14, 2011 at 6:51 PM, mcoyote <[hidden email]> wrote: > Hi there, > > Thank you for clarifying that. This begs the question, though -- once you > have a fully-populated installation, is there a way to systematically > determine the minimum set to put in the assembly? > > ----- > "Professional coder on closed source. Do not attempt." > -- > View this message in context: http://servicemix.396122.n5.nabble.com/Stripping-down-a-ServiceMix-installation-for-compact-redeployment-tp4471273p4488503.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. >
Regards,
Gert Vanthienen ------------------------ Open Source SOA: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ |
I think this is the crux of the issue -- when I examine what's along for the ride in our current, development ServiceMix footprint there are at least a few bundles which have snuck in over time that don't appear to be used by anyone (nice-to-haves) and, even though I can establish this by trial and error, I'd like to be able to systematically purge any that are unnecessary for our intentional capabilities. I think this is a fine idea, actually, and would help our cause at least a little.
"Professional coder on closed source. Do not attempt."
|
|
Hi,
here my 2 cents regarding on building a custom assembly. Last time I needed a custom assembly I did start with Karaf. I used the maven-assembly plugin in conjunction with the maven-features-plugin of karaf (beware the latest one is being renamed right now in 3.0.0-SNAPSHOT) This way it's quite easy building a custom assembly for your project. So I would start with a standard Karaf and add the features needed, most project already have features.xml. Regards, Achim Am 14.06.2011 19:21, schrieb mcoyote: > Gert Vanthienen wrote: >> L.S., >> >> If you need a really trimmed down assembly, it's probably easier to >> start with a plain Karaf and adding bundles for features using the >> plugin as we do in ServiceMix itself - this will get you an assembly >> with only the bundles for your features in there, which is what you >> want, right? There's no tooling/commands/... for adding/removing >> bundles from the /system folder in an existing assembly at the moment. >> However... >> > I think this is the crux of the issue -- when I examine what's along for the > ride in our current, development ServiceMix footprint there are at least a > few bundles which have snuck in over time that don't appear to be used by > anyone (nice-to-haves) and, even though I can establish this by trial and > error, I'd like to be able to systematically purge any that are unnecessary > for our intentional capabilities. > > > Gert Vanthienen wrote: >> We regularly get questions like 'my server is not connected to the >> internet, could you add bundle x to the system folder', how about we >> provide a means for people to start an assembly, tweak it by >> adding/removing bundles and then export the result so it can be moved >> into a constrained environment afterwards? We already have the >> features-maven-plugin and an archetype for creating your own assembly, >> but perhaps we should provide an easier way for people that are only >> interested in preparing an assembly for a production deployment. >> >> Wdyt? >> > I think this is a fine idea, actually, and would help our cause at least a > little. > > > ----- > "Professional coder on closed source. Do not attempt." > -- > View this message in context: http://servicemix.396122.n5.nabble.com/Stripping-down-a-ServiceMix-installation-for-compact-redeployment-tp4471273p4488613.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. |
|
In reply to this post by mcoyote
Hi ServiceMix users,
I admit this is an old thread, but I'm dealing with the same problem. I think the key is how to decide whether or not a bundle is in use and I identified some possible hooks: A bundle is in use if any of its exports are imported by another bundle It is also in use if any of its services are in use It may be in use if it is a host for a fragment Remains the question if that would be sufficient and how to deal with a bunch of bundles which belong together. What do you think? Andy |
|
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 This isn't a direct answer to your question, but it's in the same line. I have found that I get good and quick results by going in the opposite direction. That is, I start with my own code, deploy it, watch it fail to start (and why), then use SMX's Karaf feature system to incrementally install just enough SMX to get my integration up and running. In truth, I'm not getting a totally minimal system by so doing, but I am getting pretty quick results, and for my purposes, it's very helpful to be able to simply record the features I needed to install and then use that list to create a feature repository for my own project. - --- A. Soroka Software & Systems Engineering Online Library Environment the University of Virginia Library On Feb 13, 2012, at 11:33 PM, andy wrote: > Hi ServiceMix users, > > I admit this is an old thread, but I'm dealing with the same problem. I > think the key is how to decide whether or not a bundle is in use and I > identified some possible hooks: > > A bundle is in use if any of its exports are imported by another bundle > It is also in use if any of its services are in use > It may be in use if it is a host for a fragment > > Remains the question if that would be sufficient and how to deal with a > bunch of bundles which belong together. What do you think? > > Andy > > -- > View this message in context: http://servicemix.396122.n5.nabble.com/Stripping-down-a-ServiceMix-installation-for-compact-redeployment-tp4471273p5481463.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.17 (Darwin) Comment: GPGTools - http://gpgtools.org iQEcBAEBAgAGBQJPO8ClAAoJEATpPYSyaoIkCnAIANKOgaem30/rYYdwlXfFNraZ MrisqaVaNYmcFYOfoHX+nROXFdDWzZ/inci7V0fv7zGOczaOdi82jPtEGFoFIkjU FBc4TJQvdCkJvRvuLWpb/clJftpwTO5WBAt86iPYp5pUAIpqQTFpEFHNdqh8gsYP Mhsv16xcc81FuLbHXnAvwYc6bSy9bHJ9m8ucjGVTK8E3LQhWDhOQvPPyaA7oa0oV Q2shkmpAwhOSSZBJLh1lhYDJLG4VJ3tF7wKXqYP2+hFk8yMq5vXSY2WlYHUZLIcx 1SyvSYr/muLJuhmt4h5t0Q1dCkI71HIMFvtwZEDav1kVFdWcngpWvmQZx6nQpp4= =7oZr -----END PGP SIGNATURE----- |
|
I went in the same direction too. I created a command which spits out all bundles on which a particular one depends on. So, I start with a container containing a full set of bundles, run my app and print the dependency list afterwards. Then I start with a SMX container containing only the system bundles and add the bundles on the list. That works quite well.
Finding unused bundles is nevertheless an issue - someone else may add a bundle and decide not to use it... So I created a command which prints for a bundle, which packages it exports, which one is importing it, the same for services and it tests if it is a host to some fragments. The output is still just a hint, one has to figure out a bundles purpose manually. I can't see a way to remove "unused" bundles automatically. -----Original Message----- From: [hidden email] [mailto:[hidden email]] Sent: Thursday, 16 February 2012 12:57 AM To: [hidden email] Subject: Re: Stripping down a ServiceMix installation for compact redeployment? -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 This isn't a direct answer to your question, but it's in the same line. I have found that I get good and quick results by going in the opposite direction. That is, I start with my own code, deploy it, watch it fail to start (and why), then use SMX's Karaf feature system to incrementally install just enough SMX to get my integration up and running. In truth, I'm not getting a totally minimal system by so doing, but I am getting pretty quick results, and for my purposes, it's very helpful to be able to simply record the features I needed to install and then use that list to create a feature repository for my own project. - --- A. Soroka Software & Systems Engineering Online Library Environment the University of Virginia Library On Feb 13, 2012, at 11:33 PM, andy wrote: > Hi ServiceMix users, > > I admit this is an old thread, but I'm dealing with the same problem. I > think the key is how to decide whether or not a bundle is in use and I > identified some possible hooks: > > A bundle is in use if any of its exports are imported by another bundle > It is also in use if any of its services are in use > It may be in use if it is a host for a fragment > > Remains the question if that would be sufficient and how to deal with a > bunch of bundles which belong together. What do you think? > > Andy > |
| Powered by Nabble | Edit this page |
