diff --git a/hippo4j-adapter/hippo4j-adapter-base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapter.java b/hippo4j-adapter/hippo4j-adapter-base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapter.java new file mode 100644 index 00000000..aad6c770 --- /dev/null +++ b/hippo4j-adapter/hippo4j-adapter-base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapter.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package cn.hippo4j.adapter.base; + +/** + * Adapt to the thread pool of the third-party framework. + */ +public interface ThreadPoolAdapter { + + /** + * Framework thread pool identification. + * + * @return + */ + String mark(); + + /** + * Get the core parameters of the framework thread pool. + * + * @return + */ + ThreadPoolAdapterState getThreadPoolStateInfo(); + + /** + * Modify the core parameters of the framework thread pool. + * + * @param mark {@link ThreadPoolAdapter#mark} + * @param threadPoolAdapterParameter Thread pool parameters to be modified + * @return + */ + boolean updateThreadPool(String mark, ThreadPoolAdapterParameter threadPoolAdapterParameter); +} diff --git a/hippo4j-adapter/hippo4j-adapter-base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapterParameter.java b/hippo4j-adapter/hippo4j-adapter-base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapterParameter.java new file mode 100644 index 00000000..bcb55446 --- /dev/null +++ b/hippo4j-adapter/hippo4j-adapter-base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapterParameter.java @@ -0,0 +1,20 @@ +package cn.hippo4j.adapter.base; + +import lombok.Data; + +/** + * Thread pool adapter parameter info. + */ +@Data +public class ThreadPoolAdapterParameter { + + /** + * Core size. + */ + private Integer coreSize; + + /** + * Maximum size. + */ + private Integer maximumSize; +} diff --git a/hippo4j-adapter/hippo4j-adapter-base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapterState.java b/hippo4j-adapter/hippo4j-adapter-base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapterState.java new file mode 100644 index 00000000..9c46f36d --- /dev/null +++ b/hippo4j-adapter/hippo4j-adapter-base/src/main/java/cn/hippo4j/adapter/base/ThreadPoolAdapterState.java @@ -0,0 +1,20 @@ +package cn.hippo4j.adapter.base; + +import lombok.Data; + +/** + * Thread pool adapter state info. + */ +@Data +public class ThreadPoolAdapterState { + + /** + * Core size. + */ + private Integer coreSize; + + /** + * Maximum size. + */ + private Integer maximumSize; +}