Любой, кто использовал DevKit для написания расширения Mule, а затем хотел добавить его в Studio , может заметить, что расширение появится в категории Cloud Connectors в палитре. Это не проблема, когда расширение на самом деле представляет собой Cloud Connector , но это своего рода проблема, когда речь идет о чем-то другом (например, о компоненте, таком как соединитель LDAP). Это больше не проблема с DevKit 3.3.2, так как теперь вы можете использовать аннотацию @Category на уровне определения класса (Connector или Module), чтобы выбрать, в какой категории вы хотите добавить свое расширение:
@Connector(name = "ldap", schemaVersion = "3.4", friendlyName="LDAP", minMuleVersion="3.4", description="LDAP Connector that allows you to connect to any LDAP server and perform every LDAP operation") @Category(name = "org.mule.tooling.category.core", description = "Components") public class LDAPConnector { ... }
Важно отметить, что:
- Вы можете добавить соединитель только к одной из существующих категорий Studio (это означает, что вы не можете определить свою собственную категорию)
- Значения для атрибутов name и description @Category должны иметь определенные значения (не проявляйте креативность), как показано в следующем списке:
- Конечные точки : org.mule.tooling.category.endpoints
- Области применения : org.mule.tooling.category.scopes
- Компоненты : org.mule.tooling.category.core
- Трансформаторы : org.mule.tooling.category.transformers
- Фильтры : org.mule.tooling.category.filters
- Управление потоком : org.mule.tooling.category.flowControl
- Обработка ошибок : org.mule.tooling.ui.modules.core.exceptions
- Облачные соединители (ПО УМОЛЧАНИЮ): org.mule.tooling.category.cloudconnector
- Разное : org.mule.tooling.ui.modules.core.miscellaneous
- Безопасность : org.mule.tooling.category.security
Слишком «ме», чтобы создать аннотацию категории самостоятельно? Просто скопируйте / вставьте из следующей сущности:
import org.mule.api.annotations.Category; // Endpoint @Category(name = "org.mule.tooling.category.endpoints", description = "Endpoints") // Scope @Category(name = "org.mule.tooling.category.scopes", description = "Scopes") // Component @Category(name = "org.mule.tooling.category.core", description = "Components") // Transformer @Category(name = "org.mule.tooling.category.transformers", description = "Transformers") // Filters @Category(name = "org.mule.tooling.category.filters", description = "Filters") // Flow Control @Category(name = "org.mule.tooling.category.flowControl", description = "Flow Control") // Error Handling @Category(name = "org.mule.tooling.ui.modules.core.exceptions", description = "Error Handling") // Cloud Connectors @Category(name = "org.mule.tooling.category.cloudconnector", description = "Cloud Connectors") // Miscellaneous @Category(name = "org.mule.tooling.ui.modules.core.miscellaneous", description = "Miscellaneous") // Security @Category(name = "org.mule.tooling.category.security", description = "Security")
Надеюсь, что этот совет поможет вам разместить расширения Mule в нужной категории Studio .
Похожие сообщения:
- Школа мула: вызов методов компонента с использованием решателей точки входа
- Привязки компонентов мулов
- Расширение Mule с помощью DevKit — соединитель LDAP
- Школа мула: вызов компонента Java через HTTP