I have created a PortalUtils.jar file, which has a bunch of common Services that are used on my Portal Server by multiple resources (other services, tags, etc.).

Within the PortalUtils.jar, I have included an applicationContext.xml to use within a Custom Tag I created (see below).

Now, after a certain amount of time, I receive a very odd error (see below). Everything works fine (services are injected and run great), but then after an extended time period (1-2 hours) I receive the aforementioned errors.

I know that it works for a while, but then something gets messed up. I have a feeling it is with the Lifecycle of the Tag, and how I am loading the appContext.xml.

Any ideas on why I receive the zip file error below?


[9/23/09 15:27:48:295 CDT] 0000005f SystemErr R org.springframework.beans.factory.BeanDefinitionSt oreException: IOException parsing XML document from class path resource [portalTagsApplicationContext.xml]; nested exception is java.util.zip.ZipException: ZipFile closed.
Caused by: java.util.zip.ZipException: ZipFile closed.
at java.util.zip.ZipFile$ZipFileInputStream.read(ZipF ile.java:445)
at java.util.zip.ZipFile$1.fill(ZipFile.java:246)
at java.util.zip.InflaterInputStream.read(InflaterInp utStream.java:157)
at java.util.zip.InflaterInputStream.read(InflaterInp utStream.java:128)
at java.io.FilterInputStream.read(FilterInputStream.j ava:86)
at org.apache.xerces.impl.XMLEntityManager$Rewindable InputStream.read(Unknown Source)
at org.apache.xerces.impl.XMLEntityManager.setupCurre ntEntity(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.determin eDocVersion(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse (Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(U nknown Source)
at org.springframework.beans.factory.xml.DefaultDocum entLoader.loadDocument(DefaultDocumentLoader.java: 76)
at org.springframework.beans.factory.xml.XmlBeanDefin itionReader.doLoadBeanDefinitions(XmlBeanDefinitio nReader.java:351)
at org.springframework.beans.factory.xml.XmlBeanDefin itionReader.loadBeanDefinitions(XmlBeanDefinitionR eader.java:303)
at org.springframework.beans.factory.xml.XmlBeanDefin itionReader.loadBeanDefinitions(XmlBeanDefinitionR eader.java:280)
at org.springframework.beans.factory.xml.XmlBeanFacto ry. (XmlBeanFactory.java:73)
at org.springframework.beans.factory.xml.XmlBeanFacto ry. (XmlBeanFactory.java:61)
at com.mycompany.tags.AbstractMycompanyTag. (AbstractmycompanyTag.java:22)
at com.mycompany.tags.UserEnrollmentTag. (UserEnrollmentTag.java:11)
//IBM junk



My Tag's Super Class (where the appContext is read):
public class AbstractMycompanyTag extends BodyTagSupport {
private static final long serialVersionUID = -3684639930428752265L;
protected LdapService ldapService;
protected static final String EXTRANET = "extranet";
protected static final String mycompany = "mycompany";
protected static final String USERNAME = "username";

public AbstractmycompanyTag(){
Resource resource = new ClassPathResource(StaticVars.Beans.TAG_APP_CONTEXT );
BeanFactory factory = new XmlBeanFactory(resource);
ldapService = (LdapService)factory.getBean(StaticVars.Beans.LDAP _SVC);


My Tag:
public class UserEnrollmentTag extends AbstractMycompanyTag {
private static final long serialVersionUID = 1L;

public int doStartTag() {
//some logic
return EVAL_PAGE;