that is fine to do it outside while it work for: - ApplicationComposer - TomEE - TomEE Embedded - Arquillian - EJBContainer - old fashion InitialContext
at least Romain Manni-Bucau @rmannibucau <https://twitter.com/rmannibucau> | Blog <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber <http://www.tomitribe.com> 2015-11-12 15:14 GMT-08:00 David Blevins <david.blev...@gmail.com>: > Not sure I follow the answer. The intent of SystemInstance was to create > a bucket separate from System.getProperties() — explicitly to not merge > them together. > > If there was some desire to modify actual System properties, it seems we > can easily do this outside the SystemInstance. > > > -David > > > On Nov 11, 2015, at 3:08 PM, Romain Manni-Bucau <rmannibu...@gmail.com> > wrote: > > > > Not sure why this change has been along this particular commit but the > need > > was to be able to leverage the aggregation of properties tomee does on > > properties designed as "system properties" in system properties. > > > > I have no issue saving initial system properties and resetting them with > > the SystemInstance but I would be concerned not merging system properties > > with system properties (intentionally phrased this way). This is widely > > used AFAIK cause most of libraries rely on System.getProperty and > > conf/system.properties - to not speak about other locations - is quite > > heavily used by users in such a manner in tests but in prod as well. > > > > As a summary: -1 to not merge anymore, +1 to save initial properties and > > restore them after (with the traditional flag to not do it if a user was > > relying on it in a test suite - wouldnt happen in prod I think). > > > > > > Romain > > > > 2015-11-11 14:59 GMT-08:00 David Blevins <david.blev...@gmail.com>: > > > >> Looks like we made as part of a routine Tomcat upgrade to change > >> SystemInstance so that it modifies the System.getProperties > >> > >> - commit: > >> > https://github.com/apache/tomee/commit/d9b5ea3f7218dc4bad1ebac7b8b674823fa3fa4c#diff-f51fa1817d7f3bd166acc0ea1b4f6b69 > >> < > >> > https://github.com/apache/tomee/commit/d9b5ea3f7218dc4bad1ebac7b8b674823fa3fa4c#diff-f51fa1817d7f3bd166acc0ea1b4f6b69 > >>> > >> - issue: https://issues.apache.org/jira/browse/TOMEE-740 < > >> https://issues.apache.org/jira/browse/TOMEE-740> > >> > >> The goal for SystemInstance was specifically to remove dependency on > >> System.getProperties so that embedded containers could be booted, used > and > >> discarded without polluting the System properties. This was all done as > >> part of OpenEJB 1’s integration with Tomcat 4 (who feels old now?) which > >> allowed you to have one embedded EJB container per webapp and also > >> leveraged to allow cleaner Java SE integration so embedded EJB > containers > >> could be used and discarded with no scrubbing of the system properties. > >> > >> Saw some offline discussion saying “we need to clean up the system > >> properties because the SystemInstance modifies them”, so thought it’s a > >> good time to have a chat :) > >> > >> Any feedback on: > >> > >> - What motivated the change? > >> - How do we rework that code? > >> > >> Ideally, we’d restore the ability to sequentially boot embedded > >> containers, passing in properties and not have the actual properties > used > >> reflect some aggregate of all the containers that came before. > >> > >> > >> -- > >> David Blevins > >> http://twitter.com/dblevins > >> http://www.tomitribe.com > >> > >> > >