class Foo { @Inject Foo (Bar bar) {} } class Bar { @Inject Bar (Foo foo) {} } The spec implies that this circularity is breakable without a proxy, but I never saw a good way to do it. Any ideas? This relates to https://jira.jboss.org/jira/browse/WELD-479 which I don't believe is the intent of the spec.