feat: use @javatypes defiend java type
Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
		@@ -1,9 +1,12 @@
 | 
			
		||||
import { ConnectionFactoryAdapter } from "./connection"
 | 
			
		||||
import { RabbitTemplateAdapter } from "./template"
 | 
			
		||||
import { JSClass } from "@ccms/container"
 | 
			
		||||
 | 
			
		||||
export const RabbitAdmin = Java.type('org.springframework.amqp.rabbit.core.RabbitAdmin')
 | 
			
		||||
 | 
			
		||||
export class RabbitAdminAdapter {
 | 
			
		||||
    @JSClass('org.springframework.amqp.rabbit.core.RabbitAdmin')
 | 
			
		||||
    private RabbitAdmin: org.springframework.amqp.rabbit.core.RabbitAdmin
 | 
			
		||||
    private _Handler: org.springframework.amqp.rabbit.core.RabbitAdmin
 | 
			
		||||
    constructor(config: RabbitTemplateAdapter | org.springframework.amqp.rabbit.core.RabbitTemplate | ConnectionFactoryAdapter | org.springframework.amqp.rabbit.connection.ConnectionFactory) {
 | 
			
		||||
        this._Handler = new RabbitAdmin((config instanceof RabbitTemplateAdapter || config instanceof ConnectionFactoryAdapter) ? config.getHandler() : config)
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@ import { ConnectionFactoryAdapter, ConnectionFactory } from "./connection"
 | 
			
		||||
import { ChannelAwareMessageListenerAdapter, ChannelAwareMessageListener } from "./listener"
 | 
			
		||||
 | 
			
		||||
export const SimpleMessageListenerContainer = org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer
 | 
			
		||||
export const AcknowledgeMode = org.springframework.amqp.core.AcknowledgeMode
 | 
			
		||||
export const AcknowledgeMode: org.springframework.amqp.core.AcknowledgeMode = Java.type('org.springframework.amqp.core.AcknowledgeMode')
 | 
			
		||||
interface ContainerConfig {
 | 
			
		||||
    connectionFactory: ConnectionFactoryAdapter | typeof ConnectionFactory
 | 
			
		||||
    queueNames: string[]
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
import { JSClass } from "@ccms/container"
 | 
			
		||||
import { RabbitAdminAdapter, MessageListenerContainerAdapter, AcknowledgeMode, MessageHandler, ChannelAwareMessageListenerAdapter } from "./adapter"
 | 
			
		||||
 | 
			
		||||
const RabbitAdmin = Java.type('org.springframework.amqp.rabbit.core.RabbitAdmin')
 | 
			
		||||
 | 
			
		||||
export class AmqpAdmin {
 | 
			
		||||
    @JSClass('org.springframework.amqp.core.TopicExchange')
 | 
			
		||||
    private TopicExchange: typeof org.springframework.amqp.core.TopicExchange
 | 
			
		||||
@@ -10,14 +8,15 @@ export class AmqpAdmin {
 | 
			
		||||
    private Queue: typeof org.springframework.amqp.core.Queue
 | 
			
		||||
    @JSClass('org.springframework.amqp.core.Binding')
 | 
			
		||||
    private Binding: typeof org.springframework.amqp.core.Binding
 | 
			
		||||
 | 
			
		||||
    @JSClass('org.springframework.amqp.rabbit.core.RabbitAdmin')
 | 
			
		||||
    private RabbitAdmin: typeof org.springframework.amqp.rabbit.core.RabbitAdmin
 | 
			
		||||
    @JSClass('org.springframework.amqp.core.Binding.DestinationType')
 | 
			
		||||
    private DestinationType: typeof org.springframework.amqp.core.Binding.DestinationType
 | 
			
		||||
    private DestinationType: org.springframework.amqp.core.Binding.DestinationType
 | 
			
		||||
 | 
			
		||||
    private amqpAdmin: org.springframework.amqp.rabbit.core.RabbitAdmin
 | 
			
		||||
 | 
			
		||||
    constructor(amqpAdmin: org.springframework.amqp.rabbit.core.RabbitAdmin | any) {
 | 
			
		||||
        if (amqpAdmin instanceof RabbitAdmin) {
 | 
			
		||||
        if (amqpAdmin instanceof this.RabbitAdmin) {
 | 
			
		||||
            this.amqpAdmin = amqpAdmin
 | 
			
		||||
        } else if (amqpAdmin instanceof RabbitAdminAdapter) {
 | 
			
		||||
            this.amqpAdmin = amqpAdmin.getHandler()
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
/// <reference types="@ccms/nashorn" />
 | 
			
		||||
/// <reference types="@ccms/types/dist/typings/jdk" />
 | 
			
		||||
/// <reference types="@ccms/types/dist/typings/spring" />
 | 
			
		||||
/// <reference types="@ccms/types/dist/typings/spring/amqp" />
 | 
			
		||||
/// <reference types="@ccms/types/dist/typings/rabbitmq" />
 | 
			
		||||
/// <reference types="@javatypes/jdk" />
 | 
			
		||||
/// <reference types="@javatypes/spring-amqp" />
 | 
			
		||||
/// <reference types="@javatypes/spring-rabbit" />
 | 
			
		||||
/// <reference types="@javatypes/amqp-client" />
 | 
			
		||||
 | 
			
		||||
import { amqp } from '@ccms/api'
 | 
			
		||||
import { getContainer, reduceMetadata } from '@ccms/container'
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user