Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
schbrain-canal
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
framework
schbrain-canal
Commits
df4576b4
Commit
df4576b4
authored
Mar 05, 2024
by
liaozan
🏀
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove @Component annotation
parent
8a5032c6
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
34 additions
and
62 deletions
+34
-62
schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/CanalEventListener.java
.../schbrain/canal/client/annotation/CanalEventListener.java
+2
-4
schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/CanalClientConfiguration.java
.../schbrain/canal/client/conf/CanalClientConfiguration.java
+6
-5
schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/SchbrainCanalConfig.java
...a/com/schbrain/canal/client/conf/SchbrainCanalConfig.java
+5
-18
schbrain-canal-client/src/main/java/com/schbrain/canal/client/utils/BeanUtil.java
...c/main/java/com/schbrain/canal/client/utils/BeanUtil.java
+21
-35
No files found.
schbrain-canal-client/src/main/java/com/schbrain/canal/client/annotation/CanalEventListener.java
View file @
df4576b4
...
@@ -5,16 +5,14 @@ import org.springframework.stereotype.Component;
...
@@ -5,16 +5,14 @@ import org.springframework.stereotype.Component;
import
java.lang.annotation.*
;
import
java.lang.annotation.*
;
@Component
@Documented
@Target
({
ElementType
.
TYPE
})
@Target
({
ElementType
.
TYPE
})
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Documented
@Component
public
@interface
CanalEventListener
{
public
@interface
CanalEventListener
{
/**
/**
* bean name
* bean name
* @return
*/
*/
@AliasFor
(
annotation
=
Component
.
class
)
@AliasFor
(
annotation
=
Component
.
class
)
String
value
()
default
""
;
String
value
()
default
""
;
...
...
schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/CanalClientConfiguration.java
View file @
df4576b4
...
@@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.config.ConfigurableBeanFactory
;
import
org.springframework.beans.factory.config.ConfigurableBeanFactory
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.core.Ordered
;
import
org.springframework.core.Ordered
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.core.annotation.Order
;
...
@@ -17,7 +18,6 @@ import org.springframework.core.annotation.Order;
...
@@ -17,7 +18,6 @@ import org.springframework.core.annotation.Order;
* 启动配置类
* 启动配置类
*
*
* @author zhuyf
* @author zhuyf
* @date 2022/6/16
*/
*/
@Slf4j
@Slf4j
public
class
CanalClientConfiguration
{
public
class
CanalClientConfiguration
{
...
@@ -27,17 +27,18 @@ public class CanalClientConfiguration {
...
@@ -27,17 +27,18 @@ public class CanalClientConfiguration {
@Bean
@Bean
@Order
(
Ordered
.
HIGHEST_PRECEDENCE
)
@Order
(
Ordered
.
HIGHEST_PRECEDENCE
)
public
BeanUtil
beanUtil
()
{
public
BeanUtil
beanUtil
(
ApplicationContext
context
)
{
return
new
BeanUtil
();
return
new
BeanUtil
(
context
);
}
}
@Bean
@Bean
@ConditionalOnMissingBean
(
CanalClient
.
class
)
@ConditionalOnMissingBean
(
CanalClient
.
class
)
private
CanalClient
canalClient
(
ConfigurableBeanFactory
configurableB
eanFactory
)
{
private
CanalClient
canalClient
(
ConfigurableBeanFactory
b
eanFactory
)
{
log
.
info
(
"starting canal client...."
);
log
.
info
(
"starting canal client...."
);
TransponderFactory
factory
=
MessageTransponders
.
defaultMessageTransponder
();
TransponderFactory
factory
=
MessageTransponders
.
defaultMessageTransponder
();
CanalClient
client
=
new
SimpleCanalClient
(
schbrainCanalConfig
,
factory
,
configurableB
eanFactory
);
CanalClient
client
=
new
SimpleCanalClient
(
schbrainCanalConfig
,
factory
,
b
eanFactory
);
client
.
start
();
client
.
start
();
return
client
;
return
client
;
}
}
}
}
schbrain-canal-client/src/main/java/com/schbrain/canal/client/conf/SchbrainCanalConfig.java
View file @
df4576b4
package
com.schbrain.canal.client.conf
;
package
com.schbrain.canal.client.conf
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.stereotype.Component
;
import
java.util.LinkedHashMap
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
* Canal配置
* Canal配置
*
* @author zhuyf
* @author zhuyf
* @
dat
e 2022/6/16
* @
sinc
e 2022/6/16
*/
*/
@
Component
@
Data
@ConfigurationProperties
(
prefix
=
"canal.client"
)
@ConfigurationProperties
(
prefix
=
"canal.client"
)
public
class
SchbrainCanalConfig
{
public
class
SchbrainCanalConfig
{
...
@@ -19,19 +21,4 @@ public class SchbrainCanalConfig {
...
@@ -19,19 +21,4 @@ public class SchbrainCanalConfig {
*/
*/
private
Map
<
String
,
CanalClientConfig
>
instances
=
new
LinkedHashMap
<>();
private
Map
<
String
,
CanalClientConfig
>
instances
=
new
LinkedHashMap
<>();
/**
* 获取实例列表
* @return
*/
public
Map
<
String
,
CanalClientConfig
>
getInstances
()
{
return
instances
;
}
/**
* 设置实例列表
* @param instances
*/
public
void
setInstances
(
Map
<
String
,
CanalClientConfig
>
instances
)
{
this
.
instances
=
instances
;
}
}
}
schbrain-canal-client/src/main/java/com/schbrain/canal/client/utils/BeanUtil.java
View file @
df4576b4
package
com.schbrain.canal.client.utils
;
package
com.schbrain.canal.client.utils
;
import
org.springframework.beans.BeansException
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.stereotype.Component
;
import
java.lang.annotation.Annotation
;
import
java.lang.annotation.Annotation
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @author zhuyf
* @author zhuyf
* @
dat
e 2022/6/16
* @
sinc
e 2022/6/16
*/
*/
@Component
public
class
BeanUtil
{
public
class
BeanUtil
implements
ApplicationContextAware
{
private
static
ApplicationContext
applicationContext
;
private
static
ApplicationContext
applicationContext
;
@Override
public
BeanUtil
(
ApplicationContext
context
)
{
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
throws
BeansException
{
applicationContext
=
context
;
BeanUtil
.
applicationContext
=
applicationContext
;
}
}
/**
/**
* get bean
* get bean
* @param clazz
* @param <T>
* @return
*/
*/
public
static
<
T
>
T
getBean
(
Class
<
T
>
clazz
)
{
public
static
<
T
>
T
getBean
(
Class
<
T
>
type
)
{
T
obj
;
T
bean
;
try
{
try
{
obj
=
applicationContext
.
getBean
(
clazz
);
bean
=
applicationContext
.
getBean
(
type
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
obj
=
null
;
bean
=
null
;
}
}
return
obj
;
return
bean
;
}
}
/**
/**
* get bean list
* get bean list
* @param clazz
* @param <T>
* @return
*/
*/
public
static
<
T
>
List
<
T
>
getBeansOfType
(
Class
<
T
>
clazz
)
{
public
static
<
T
>
List
<
T
>
getBeansOfType
(
Class
<
T
>
type
)
{
Map
<
String
,
T
>
m
ap
;
Map
<
String
,
T
>
beanM
ap
;
try
{
try
{
map
=
applicationContext
.
getBeansOfType
(
clazz
);
beanMap
=
applicationContext
.
getBeansOfType
(
type
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
m
ap
=
null
;
beanM
ap
=
null
;
}
}
return
map
==
null
?
null
:
new
ArrayList
<>(
m
ap
.
values
());
return
beanMap
==
null
?
null
:
new
ArrayList
<>(
beanM
ap
.
values
());
}
}
/**
/**
* get with annotation
* get with annotation
* @param anno
* @return
*/
*/
public
static
Map
<
String
,
Object
>
getBeansWithAnnotation
(
Class
<?
extends
Annotation
>
anno
)
{
public
static
Map
<
String
,
Object
>
getBeansWithAnnotation
(
Class
<?
extends
Annotation
>
anno
tationType
)
{
Map
<
String
,
Object
>
m
ap
;
Map
<
String
,
Object
>
beanM
ap
;
try
{
try
{
map
=
applicationContext
.
getBeansWithAnnotation
(
anno
);
beanMap
=
applicationContext
.
getBeansWithAnnotation
(
annotationType
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
m
ap
=
null
;
beanM
ap
=
null
;
}
}
return
m
ap
;
return
beanM
ap
;
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment