【Symfony2.3】DoctrineのprePersistもしくはpreUpdateイベントをトリガーとするリスナーに対してSecurityContextを注入すると循環参照例外が発生する。

ので注意。

StackOverflowで解決策は唯一containerを注入してそこからSecurityContextを取得するようにするしかないと回答されていたが、公式でも問題として認識していた模様。

http://stackoverflow.com/questions/7561013/injecting-securitycontext-into-a-listener-prepersist-or-preupdate-in-symfony2-to

下記のような投稿が確認出来る。

I had similar problems and the only workaround was to pass the whole container in the constructor

As of Symfony 2.6 this issue should be fixed.

どうやらSymfony2.6でこの問題は解決されるとのこと。公式でも記事を発見。

http://symfony.com/blog/new-in-symfony-2-6-security-component-improvements

ということで2.3環境の自分はおとなしくコンテナを注入してやることにしたのであった。