Re: T4 - access hivemind registry from another servlet
ok thankyou, i've extended the servlet. Renat Zubairov wrote: Another way to extend Application servlet from tapestry and with your implementation and then just replace ApplicationServlet declaration inside web.xml with your new class. Logic is more or less the same. On 15/11/2007, Jili Lv <[EMAIL PROTECTED]> wrote: 1. Add a filter class : package com.example; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import org.apache.hivemind.Registry; public class HivemindRegistryPublishFilter implements Filter { private FilterConfig config; static public Registry getRegistry() { return _localRegistry.get(); } public void init(FilterConfig config) throws ServletException { this.config = config; } public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { try { // tapestry 4.1.2 servlet name is xxx. _localRegistry.set((Registry)config.getServletContext().getAttribute(" org.apache.tapestry.Registry:" + "xxx")); chain.doFilter(request, response); } finally { _localRegistry.set(null); } } static protected ThreadLocal _localRegistry = new ThreadLocal(); } 2. configure web.xml registryFilter com.example.HivemindRegistryPublishFilter registryFilter /* 3. now get Registry use com.example.HivemindRegistryPublishFilter.getRegistry() this is base on the hivetranse source code http://hivetranse.sourceforge.net/ 2007/11/15, Paul Stanton <[EMAIL PROTECTED]>: Ok, so the tapestry servlet initializes and stores the hivemind registry for use within tapestry. My hivemind services and tapestry components and pages can find each other via injection or context method calls. That's fine, but now I've got separate servlet in which I need to have access to my hivemind services. What's the best way to do this? Thanks, Paul. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: T4 - access hivemind registry from another servlet
Another way to extend Application servlet from tapestry and with your implementation and then just replace ApplicationServlet declaration inside web.xml with your new class. Logic is more or less the same. On 15/11/2007, Jili Lv <[EMAIL PROTECTED]> wrote: > > 1. Add a filter class : > > package com.example; > > import java.io.IOException; > > import javax.servlet.Filter; > import javax.servlet.FilterChain; > import javax.servlet.FilterConfig; > import javax.servlet.ServletException; > import javax.servlet.ServletRequest; > import javax.servlet.ServletResponse; > > import org.apache.hivemind.Registry; > > public class HivemindRegistryPublishFilter implements Filter { > > private FilterConfig config; > > static public Registry getRegistry() { > return _localRegistry.get(); > } > > public void init(FilterConfig config) throws ServletException { > this.config = config; > } > > public void destroy() { > } > > public void doFilter(ServletRequest request, ServletResponse > response, FilterChain chain) > throws IOException, ServletException { > try > { > // tapestry 4.1.2 servlet name is xxx. > > > _localRegistry.set((Registry)config.getServletContext().getAttribute(" > org.apache.tapestry.Registry:" > + "xxx")); > chain.doFilter(request, response); > } finally { > _localRegistry.set(null); > } > } > > static protected ThreadLocal _localRegistry = new > ThreadLocal(); > } > > 2. configure web.xml > > > registryFilter > com.example.HivemindRegistryPublishFilter > > > > registryFilter > /* > > > 3. now get Registry use > com.example.HivemindRegistryPublishFilter.getRegistry() > > this is base on the hivetranse source code > http://hivetranse.sourceforge.net/ > > 2007/11/15, Paul Stanton <[EMAIL PROTECTED]>: > > Ok, so the tapestry servlet initializes and stores the hivemind registry > > for use within tapestry. My hivemind services and tapestry components > > and pages can find each other via injection or context method calls. > > That's fine, but now I've got separate servlet in which I need to have > > access to my hivemind services. What's the best way to do this? > > > > Thanks, Paul. > > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Best regards, Renat Zubairov
Re: T4 - access hivemind registry from another servlet
1. Add a filter class : package com.example; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import org.apache.hivemind.Registry; public class HivemindRegistryPublishFilter implements Filter { private FilterConfig config; static public Registry getRegistry() { return _localRegistry.get(); } public void init(FilterConfig config) throws ServletException { this.config = config; } public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { try { // tapestry 4.1.2 servlet name is xxx. _localRegistry.set((Registry)config.getServletContext().getAttribute("org.apache.tapestry.Registry:" + "xxx")); chain.doFilter(request, response); } finally { _localRegistry.set(null); } } static protected ThreadLocal _localRegistry = new ThreadLocal(); } 2. configure web.xml registryFilter com.example.HivemindRegistryPublishFilter registryFilter /* 3. now get Registry use com.example.HivemindRegistryPublishFilter.getRegistry() this is base on the hivetranse source code http://hivetranse.sourceforge.net/ 2007/11/15, Paul Stanton <[EMAIL PROTECTED]>: > Ok, so the tapestry servlet initializes and stores the hivemind registry > for use within tapestry. My hivemind services and tapestry components > and pages can find each other via injection or context method calls. > That's fine, but now I've got separate servlet in which I need to have > access to my hivemind services. What's the best way to do this? > > Thanks, Paul. > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
T4 - access hivemind registry from another servlet
Ok, so the tapestry servlet initializes and stores the hivemind registry for use within tapestry. My hivemind services and tapestry components and pages can find each other via injection or context method calls. That's fine, but now I've got separate servlet in which I need to have access to my hivemind services. What's the best way to do this? Thanks, Paul. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]