What you can do is paste bean1 into bean2, so bean2 will have access to any method present in bean1.
If you use Spring, this can easily be done when defining beans:
<bean id="bean1" class="foo.bar.Bean1"/>
<bean id="bean2" class="foo.bar.Bean2">
<property id="bean1" ref="bean1"/>
</bean>
and in bean2 java code:
public class Bean2 {
private Bean1 bean1 = null;
public void setBean1(Bean1 bean1) {
this.bean1 = bean1;
}
...
public void someMethod() {
...
bean1.updateSomething();
}
}
If you are not using Spring:
bean1 bean2 :
Bean1 bean1 = (Bean1) FacesContext.getCurrentInstance().getCurrentInstance()
.getExternalContext().getSessionMap().get("bean1");