Package io.quarkus.arquillian
Class QuarkusDeployment
java.lang.Object
io.quarkus.arquillian.QuarkusDeployment
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
the
RunningQuarkusApplication), 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, the RunningQuarkusApplication is unusable after
it is closed, so it makes no sense to keep it around. Hence, QuarkusDeployableContainer
may safely cleanup() 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
ConstructorsConstructorDescriptionQuarkusDeployment(io.quarkus.bootstrap.app.RunningQuarkusApplication runningApp) -
Method Summary
Modifier and TypeMethodDescription(package private) voidcleanup()(package private) ClassLoader(package private) io.quarkus.bootstrap.app.RunningQuarkusApplication(package private) boolean
-
Constructor Details
-
QuarkusDeployment
QuarkusDeployment(io.quarkus.bootstrap.app.RunningQuarkusApplication runningApp)
-
-
Method Details
-
getRunningApp
io.quarkus.bootstrap.app.RunningQuarkusApplication getRunningApp() -
getAppClassLoader
ClassLoader getAppClassLoader() -
hasAppClassLoader
boolean hasAppClassLoader() -
cleanup
void cleanup()
-