Here's the quick and dirty on how to define, inject, reference a Session
object (ASO in tapestry terms).
My hivemodule.xml:
<contribution configuration-id="tapestry.state.ApplicationObjects">
<state-object name="userSession" scope="session">
<create-instance class="orgname.service.UserSession"/>
</state-object>
</contribution>
My Example.page file that requires the ASO:
<inject property="userSession" type="state" object="userSession"/>
My Example.java class that uses the session:
public abstract UserSession getUserSession();