diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2022-05-11 12:07:06 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2022-05-13 16:33:39 +0200 |
commit | 732fdafd9f7ccf383038258792c8cb15f30f8e74 (patch) | |
tree | 965382afdf1e22330e389b01808a49971eb12dc3 /solenv/gbuild | |
parent | c63b86501828d35c3a80aa5be2d70f992b4f1b23 (diff) |
officecfg,stoc: allow running JVM UNO components out-of-process
The problem is that 32-bit Win32 applications have very little VM, and
soffice.bin can run out, so try to move the JVM to a separate process
(uno.bin) and connect to it via pipe.
Add a new config to enable this:
"org.openoffice.Office.Java/VirtualMachine/RunUnoComponentsOutOfProcess"
If enabled, ServiceManager instantiates *all* JVM components
out-of-process, by instantiating
"com.sun.star.java.theJavaVirtualMachine" out-of-process.
To ensure that the remote connection is disconnected at shutdown (and
thereby prevent crashes with remote calls during late shutdown),
JavaComponentLoader is now a "single-instance" service; this change
should be harmless for the default in-process configuration case.
Tested with these extensions:
Wiki Publisher
smoketest TestExtension.oxt
odk CalcAddins.oxt Inspector.oxt ToDo.oxt
Also passed "make check" on Linux when enabled, if the variable
URE_BIN_DIR is set properly for CppunitTest_services.
Change-Id: I76bf17a9512414b67dbd20daee25a6d29c05f9d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133218
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'solenv/gbuild')
-rw-r--r-- | solenv/gbuild/CppunitTest.mk | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/solenv/gbuild/CppunitTest.mk b/solenv/gbuild/CppunitTest.mk index 995910cfbd0c..9545f0c52f1d 100644 --- a/solenv/gbuild/CppunitTest.mk +++ b/solenv/gbuild/CppunitTest.mk @@ -93,7 +93,7 @@ $(if $(URE),\ $(if $(strip $(UNO_TYPES)),\ "-env:UNO_TYPES=$(foreach item,$(UNO_TYPES),$(call gb_Helper_make_url,$(item)))") \ $(if $(strip $(UNO_SERVICES)),\ - "-env:UNO_SERVICES=$(foreach item,$(UNO_SERVICES),$(call gb_Helper_make_url,$(item)))") \ + "-env:UNO_SERVICES=$(foreach item,$(UNO_SERVICES),$(call gb_Helper_make_url,$(item)))" -env:URE_BIN_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_URE_BIN_FOLDER))) \ -env:URE_INTERNAL_LIB_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_URE_LIB_FOLDER)) \ -env:LO_LIB_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_LIB_FOLDER)) \ -env:LO_JAVA_DIR=$(call gb_Helper_make_url,$(INSTROOT)/$(LIBO_SHARE_JAVA_FOLDER)) \ |