Il concetto quindi è l'uso dei bean...
Allora come ben saprai essi hanno uno scopo (scope) session,request,application e serve a gestire il ciclo di vita.
Un bean dichiarato request verrà creato (e forse distrutto GC permettendo) ad ogni richiesta che farai a quest'ultimo quindi se per esempio da una pagina jsp richiami un metodo di un bean setNome(String nome); quando andrai a reinvocare il metodo effettuando di nuovo la richiesta esso non ha memoria della precedente chiamata.
Un session bean o un application bean invece sono legati, il primo al concetto di sessione web e il secondo al ciclo di vita dell'applicazione; in particolare se il bean in questione è stato dichiarato come session bean esso verrà creato alla prima invocazione fatta è verrà posto nella mappa di sessione da cui poi sarà recuperato per tutte le successive chiamate finchè la sessione avrà vita.
Premesso questo, e sicuramente non ho detto tutto, entrando nel problema specifico non capisco perchè devi usare un metodo statico. Faccio un esempio
codice:
public class BeanC
{
   public void metodoC()
   {
      //fai qualcosa
   }
}
public class BeanB
{
   public void metodoB()
   {
      //fai qualcosa
   }
}
public class BeanA
{
   public void metodoA()
   {
      //fai qualcosa
   }
}
pagina jsp
<jsp:useBean id="beanA" scope="request" class="package.name.BeanA"/>
.....
beanA.metodoA();
A quanto ho capito quello che vuoi fare è dal metodoA richiamare il metodoB del BeanB e il metodoC del BeanC se è cosi basta implementare il metodoA come segue:
codice:
 public void metodoA()
   {
      BeanB beanB = new BeanB();
      beanB.metodoB();
      BeanC beanC = new BeanC();
      beanC.metodoC();

   }
e il gioco è fatto.
Questo ovviamente se non hai bisogno di gestire i bean in sessione.