No announcement yet.
  • Filter
  • Time
Clear All
new posts

    Statement in the installation guide

    I have just a quick question about a statement in the installation guide (

    The statement "Note that, if installing into an environment that uses multiple WARs, installation of SmartClient JARs into a directory shared by multiple applications is not supported." implies that jars should be included with each WAR that is installed.

    We are developing many smaller applications, so that would mean deploying the jars many times. We aren't really worried about the size, but more memory. If we have a bunch of defined datasource files (*ds.xml) and use the datasource loader, most of these DataSources are used across applications. Does the datasource loader cache these, and since they would each be in their own class loader, could memory be an issue if many of these datasources would be loaded more than once in memory? Or is there a different option?

    Many smaller applications should generally be deployed as a single .war unless it's a critical need that they can run different versions of the underlying SmartClient/SmartGWT server framework. Otherwise, there are multiple copies of the .jars in memory as well as independent pools of DataSource instances, potentially independent connection pools, etc.

    You can always deploy multiple .wars that use a single set of servlets not just for loading DataSources but also for performing DataSource operations. At this point each .war really just contains resources to be loaded into the browser and doesn't have any independent server resources. But this model would rarely make sense.


      Ok thanks for the info. Just one other question, can you tell me the primary reason why a shared approach isn't supported?


        Because servlet engines do subtly broken, vastly different things if you try this, especially if Java reflection or Spring is involved.