ejb-to-cdi
Migrates EJB components to CDI managed beans.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Migrates EJB components to CDI managed beans.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Reads PLAN.md and executes each migration step sequentially. Applies transformations file by file, consulting domain-specific reference patterns provided by loaded migration skills. Use after the plan stage has produced PLAN.md.
Migrates Java EE 7/8 applications (WebLogic, JBoss, WildFly) to Quarkus 3. Use when moving off a traditional Java EE application server to the Quarkus runtime, not just renaming javax to jakarta.
Reads a project and a goal statement, then produces PLAN.md in the repo root. The plan is specific to THIS project — real file paths, real dependencies, real layer ordering. Uses graphify to generate a code graph, then selectively reads complex files. Does NOT execute any changes. Output is always PLAN.md and nothing else. Use when starting a new migration to create the migration plan before any code changes.
Runs the project build command, parses compiler errors, applies conservative fixes, and iterates until the build passes or max iterations are reached. Use after the execute stage has finished migrating source files.
Migrates Maven POM files from Java EE to Jakarta EE.
Enforces that no javax.* imports remain after migration.
| name | ejb-to-cdi |
| description | Migrates EJB components to CDI managed beans. |
When migrating from Java EE to Jakarta EE or Quarkus, replace Enterprise JavaBeans (EJB) with CDI managed beans.
@Stateless with @ApplicationScoped.@Stateful with @SessionScoped or @ApplicationScoped
depending on the use case.@Singleton (javax.ejb) with @ApplicationScoped +
@Startup if initialization is needed.@LocalBean and @Local — CDI beans are local by default.@EJB injection with @Inject.@Inject or programmatic lookup
via CDI.current().select(...).@Schedule (EJB Timer) with Quarkus @Scheduled or
jakarta.enterprise.concurrent scheduled executors.@MessageDriven with framework-specific messaging
(e.g., Quarkus SmallRye Reactive Messaging with @Incoming).Before:
@Stateless
public class OrderService {
@EJB
private InventoryService inventory;
public void processOrder(Order order) {
inventory.reserve(order.getItems());
}
}
After:
@ApplicationScoped
public class OrderService {
@Inject
InventoryService inventory;
public void processOrder(Order order) {
inventory.reserve(order.getItems());
}
}