Package io.quarkus.arquillian
Class QuarkusDeployment
- java.lang.Object
-
- io.quarkus.arquillian.QuarkusDeployment
-
class QuarkusDeployment extends Object
This class is a workaround for Arquillian holding onto deployment-scoped (and container-scoped) objects until its end of life. That allows undeploying and redeploying without losing contextual data, but is also technically a memory leak. If the deployment-scoped objects are large (such as theRunningQuarkusApplication), this memory leak becomes very visible very soon. This Quarkus Arquillian adapter is only used to run TCKs for Jakarta and MicroProfile specifications, which don't need this capability. Also, theRunningQuarkusApplicationis unusable after it is closed, so it makes no sense to keep it around. Hence,QuarkusDeployableContainermay safelycleanup()this object after a deployment is undeployed, making the Quarkus application unreachable and GC-able. Arquillian will keep piling up empty objects, which is still a memory leak, but one that doesn't hurt as much.
-
-
Constructor Summary
Constructors Constructor Description QuarkusDeployment(RunningQuarkusApplication runningApp)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidcleanup()(package private) ClassLoadergetAppClassLoader()(package private) RunningQuarkusApplicationgetRunningApp()(package private) booleanhasAppClassLoader()
-
-
-
Constructor Detail
-
QuarkusDeployment
QuarkusDeployment(RunningQuarkusApplication runningApp)
-
-
Method Detail
-
getRunningApp
RunningQuarkusApplication getRunningApp()
-
getAppClassLoader
ClassLoader getAppClassLoader()
-
hasAppClassLoader
boolean hasAppClassLoader()
-
cleanup
void cleanup()
-
-