[ https://issues.apache.org/jira/browse/WW-5524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18012696#comment-18012696 ]
Martin commented on WW-5524: ---------------------------- I have this same problem. I am working around it with the following code: {code:java} package com.pkb.util.struts; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.struts2.ObjectFactory; import org.apache.struts2.conversion.TypeConverter; import org.apache.struts2.factory.ConverterFactory; import org.apache.struts2.inject.Inject; import java.util.Map; /** * Patched version of org.apache.struts2.factory.StrutsConverterFactory * * Works around https://issues.apache.org/jira/projects/WW/issues/WW-5524 * * Patched to call back into objectFactory instead of directly calling into Container to build the bean * similar to other ConverterFactory instances. Otherwise we end up skipping Spring! And some of our * TypeConverters rely on other beans injected from Spring, e.g. com.pkb.util.struts.DatePickerStringToInstantConverter */ public class StrutsConverterFactory implements ConverterFactory { private static final Logger LOG = LogManager.getLogger(StrutsConverterFactory.class); private ObjectFactory objectFactory; @Inject public void setObjectFactory(ObjectFactory objectFactory) { this.objectFactory = objectFactory; } @Override public TypeConverter buildConverter(Class<? extends TypeConverter> converterClass, Map<String, Object> extraContext) throws Exception { LOG.debug("Creating converter of type [{}]", converterClass.getCanonicalName()); return (TypeConverter)objectFactory.buildBean(converterClass, extraContext); } } {code} And registering this StrutsTypeConverter as the default in struts.xml like this: {code:java} <bean type="org.apache.struts2.factory.ConverterFactory" class="com.pkb.util.struts.StrutsConverterFactory"/> {code} I'll shortly raise a PR which changes the existing struts implementation to the same as above. At the moment it calls directly into Container#inject which bypasses SpringObjectFactory. I don't know why this worked prior to struts 6.0.0 > Dependency injection not working in custom StrutsTypeConverter(s) > ----------------------------------------------------------------- > > Key: WW-5524 > URL: https://issues.apache.org/jira/browse/WW-5524 > Project: Struts 2 > Issue Type: Bug > Components: Core > Affects Versions: 6.0.0, 6.0.3, 6.1.1, 6.2.0, 6.1.2.1, 6.3.0, 6.4.0, > 6.6.0, 6.6.1, 6.7.0 > Reporter: John Wilson > Priority: Major > Fix For: 6.8.0, 7.1.0 > > > Dependency injection via annotations (such as @PersistenceContext, > @Autowired) are no longer working within custom StrutsTypeConverter(s) since > version 6.0.0. > This relates to the changes done in WW-4996 -- This message was sent by Atlassian Jira (v8.20.10#820010)