数週間前、私は Alfresco 3.4.14 に基づいて AMP を開発しました。そのモジュールでは、いくつかのカスタマイズされたサービスを作成しました。サービスの 1 つは、新しいユーザーを作成する方法で、ユーザーを管理するために使用されました。
public NodeRef createUser(<my_parameters>) {
..........................
..........................
HashMap<QName, Serializable> properties = new HashMap<QName, Serializable>();
properties.put(ContentModel.PROP_USERNAME, username);
properties.put(ContentModel.PROP_PASSWORD, password);
..........................
..........................
NodeRef person = personService.createPerson(properties);
return person;
}
すべてのサービスは、次の alfresco コンテキスト ファイルで定義されています。
<?xml version='1.0' encoding='UTF-8'?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="customUserService" class="com.mycustom.service.impl.CustomUsersServiceImpl">
<property name="personService" ref="PersonService"/>
<property name="nodeService" ref="NodeService"/>
</bean>
<bean id="customProjectsService" class="com.mycustom.service.impl.CustomProjectsServiceImpl">
<property name="searchService" ref="SearchService"/>
<property name="nodeService" ref="NodeService"/>
</bean>
</beans>
すべてが正常に機能していました。ユーザーを作成し、他のカスタマイズされたサービスを実行できました...ここまでは完璧です!!!!!!!! アプリケーションは正常に動作していました。
数日前、コンテキスト内のすべての Bean を定義する代わりに、Spring アノテーションの使用を開始することにしました。
package com.mycustom.service.impl;
@Service("customUsersService")
public class CustomUsersServiceImpl implements CustomUsersService {
@Override
public NodeRef createUser(<my_parameters>) {
}
}
コンテキスト ファイルで、Spring コンポーネント スキャンを使用するには、次のようにします。
<?xml version='1.0' encoding='UTF-8'?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:annotation-config/>
<context:component-scan base-package="com.mycustom.service" />
</beans>
すべてのサービスは正常に動作しており、アプリケーションも正常に動作しているように見えました。アノテーションを使用してアプリケーションを切り離すことができたので、私たちは満足していました。
BUTTTTTTTTTTTT、ユーザーを作成しようとしたときに、エクスプローラーまたはアプリケーションを介して同じエラーが発生しました: Failed to create Person due to error: xxxxxxx beforeCreateNode: use PersonService to create person