Изменить имя класса EJB во время выполнения - PullRequest
0 голосов
/ 07 октября 2019

мы определили bean-компонент в одном проекте, как показано ниже:

<bean class="a.b.c.d.classA" id="classA">
    <property name="prop1" ref="ref1"/>
</bean>

Мы импортируем эту конфигурацию в другой проект и хотим перезаписать определение bean-компонента во время установки патча. Итак, здесь нам нужно изменить класс, но другие данные останутся без изменений (без изменения идентификатора компонента).

<bean class="a.b.c.d.classB" id="classA">
    <property name="prop1" ref="ref1"/>
</bean>

С помощью XML-файла установки патча мы решили сделать это с помощью вызова муравья следующим образом:

<xmltask source="beans.xml" dest="beans.xml">
    <remove path="/beans/bean[@id='classA']/@class"/>
</xmltask>

<antcall target="abcd">
    <param name="file_path" value="beans.xml"/>
    <param name="item.path" value="/beans/bean[@id='classA']"/>
    <param name="item.name.path" value="class"/>
    <param name="item.name.value" value="a.b.c.d.classB"/>
</antcall>

Приведенный выше подход как-то не работает, может что-то упустить. Итак, какие изменения мы можем сделать?

...