Technically speaking from the Dependency Injection koolaid doctrine, the
best way to solve the problem is to have a "null" implementation of your
service that does nothing.  The code you are writing doesn't have to
have complex if/else logic as it's able to assume the service is always
there.  The null implementation is wired in for the app that doesn't use
it.

Alternatively, create your accessor (getRememberMeService()) in the
session that will access the ApplicationContext itself.  It will
determine if the bean exists or not and return the appropriate value.
Since it allows for lazy initialization, it also addresses any issues
from the ApplicationContext not being set up in time during unit
testing.

-----Original Message-----
From: Anthony DePalma [mailto:fatef...@gmail.com] 
Sent: Monday, November 23, 2009 6:47 AM
To: users@wicket.apache.org
Subject: Can @SpringBeans be optional?

Often with spring I give some of my services extra features if they are
configured in the xml for it, but otherwise if they are null they are
simply
ignored. I'm running into an issue with my websession, that one of my
apps
can use the RememberMeService but another cannot. However, I'd like to
have
one abstractwebsession they can share, but unfortunately I'll get an
exception when starting the app without the rememberMeService defined in
the
xml. It wouldn't make sense to define one to satisfy the error.

The only solution I had so far was to inject it into the application
class,
where i can do so without @springbeans and thus a service can be null,
but
is there any way I can configure springbeans to not throw an error on
startup for optional services?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to