java cdi singleton vs applicationscoped