Package com.bytedesk.kbase.faq.mq
Class FaqIndexConsumer
java.lang.Object
com.bytedesk.kbase.faq.mq.FaqIndexConsumer
FAQ索引消费者
用于处理FAQ索引队列中的消息
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final FaqElasticService
private final FaqRestService
private final FaqVectorService
private final Random
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
acknowledgeMessage
(jakarta.jms.Message message) 安全地确认消息 只有在消息处理成功后才调用此方法deleteFaqVector
(FaqEntity faq) 在完全独立事务中删除向量索引private void
handleDeleteOperation
(FaqEntity faq, FaqIndexMessage message) 处理删除操作 将全文索引和向量索引的删除操作分开处理private void
handleIndexOperation
(FaqEntity faq, FaqIndexMessage message) 处理索引操作 将全文索引和向量索引的操作分开处理,避免一个操作失败影响另一个操作indexFaqVector
(FaqEntity faq) 在完全独立事务中创建向量索引processElasticDelete
(String faqUid) 在单独事务中处理全文索引删除void
在单独事务中处理全文索引void
processIndexMessage
(jakarta.jms.Message jmsMessage, FaqIndexMessage message) 处理FAQ索引队列中的消息 使用客户端确认模式,只有成功处理后才确认消息 增强了对乐观锁冲突的处理在单独事务中处理向量索引删除void
在单独事务中处理向量索引
-
Field Details
-
faqElasticService
-
faqVectorService
-
faqRestService
-
random
-
-
Constructor Details
-
FaqIndexConsumer
public FaqIndexConsumer()
-
-
Method Details
-
processIndexMessage
@JmsListener(destination="artemis.queue.faq.index", containerFactory="jmsArtemisQueueFactory", concurrency="3-10") public void processIndexMessage(jakarta.jms.Message jmsMessage, FaqIndexMessage message) 处理FAQ索引队列中的消息 使用客户端确认模式,只有成功处理后才确认消息 增强了对乐观锁冲突的处理- Parameters:
jmsMessage
- JMS原始消息message
- FAQ索引消息
-
handleIndexOperation
处理索引操作 将全文索引和向量索引的操作分开处理,避免一个操作失败影响另一个操作 -
processElasticIndex
在单独事务中处理全文索引 -
processVectorIndex
在单独事务中处理向量索引 -
deleteFaqVector
在完全独立事务中删除向量索引 -
indexFaqVector
在完全独立事务中创建向量索引 -
handleDeleteOperation
处理删除操作 将全文索引和向量索引的删除操作分开处理 -
processElasticDelete
在单独事务中处理全文索引删除 -
processVectorDelete
在单独事务中处理向量索引删除 -
acknowledgeMessage
private void acknowledgeMessage(jakarta.jms.Message message) 安全地确认消息 只有在消息处理成功后才调用此方法- Parameters:
message
- JMS消息
-