雙kafka消費者配置
(1)第乙個kafka
public class onekafkaconfig
@bean
public consume***ctory oneconsume***ctory(@resource kafkaproperties onekafkaproperties)
@configurationproperties(prefix = "sys.kafka.one")
@bean
public kafkaproperties onekafkaproperties()
(2)第二個kafka
public class twokafkaconfig
@primary
@bean
public consume***ctory twoconsume***ctory(@resource kafkaproperties twokafkaproperties)
@primary
@configurationproperties(prefix = "sys.kafka.two")
@bean
public kafkaproperties twokafkaproperties()
}
啟動專案,發現兩個kafka的消費者都是指向同乙個kafka,@resource沒有根據名字注入所以依賴的bean。
從debug模式下中發現:twokafkaproperties、twoconsume***ctory、twokafkafactory依次建立。然後先是twoconsume***ctory先注入建立onekafkafactory,而twokafkaproperties bean先注入建立oneconsume***ctory,最後onekafkaproperties才開始建立。
原因:@resource注入之前先根據名字查詢bean,找不到才根據型別進行bean注入。因為twoconsume***ctory為@primary優先順序高先建立,onekafkafactory建立的時候oneconsume***ctory 還沒有建立,所以根據型別注入了twoconsume***ctory。
建議:多個型別相同的bean建立不要使用@resource,應該使用@autowired + @qualifier或者重新繼承bean的型別。
(1)@autowiredv+ @qualifier
public class onekafkaconfig
@bean
public consume***ctory oneconsume***ctory(@autowired @qualifier("onekafkaproperties") kafkaproperties onekafkaproperties)
@configurationproperties(prefix = "sys.kafka.one")
@bean
public kafkaproperties onekafkaproperties()
}
public class twokafkaconfig
@primary
@bean
public consume***ctory twoconsume***ctory(@autowired @qualifier("twokafkaproperties") kafkaproperties twokafkaproperties)
@primary
@configurationproperties(prefix = "sys.kafka.two")
@bean
public kafkaproperties twokafkaproperties()
}
(2)重新繼承bean的型別
public class onekafkaconfig
@bean
public oneconsume***ctory oneconsume***ctory(@autowired onekafkaproperties onekafkaproperties)
@configurationproperties(prefix = "sys.kafka.one")
@bean
public onekafkaproperties onekafkaproperties()
public class twokafkaconfig
@primary
@bean
public twoconsume***ctory twoconsume***ctory(@autowired twokafkaproperties twokafkaproperties)
@primary
@configurationproperties(prefix = "sys.kafka.two")
@bean
public twokafkaproperties twokafkaproperties()
}
spring的依賴注入的注入方式
一 構造器注入 1 常量值 簡寫 全寫 常量 2 引用 簡寫 全寫 二 setter注入 1 常量值 簡寫 全寫 常量 2 引用 簡寫 全寫 3 陣列 沒有簡寫形式 4 列表 沒有簡寫形式 5 集合 沒有簡寫形式 6 字典 簡寫 全寫 鍵常量 值常量 7 properties 沒有簡寫形式 三 其他...
SQL注入中的union注入
環境自己搭的 union聯合,合併,將多條查詢語句結果合併成乙個結果,union注入攻擊是手工測試 1.首先要判斷是否存在注入點 2.通過order by 1 99 查詢字段 首先應該用查詢出欄位 1.注 20表示空格,我這裡從1試到了7 到7的時候報錯,也就會是說有6個字段 2.我的回顯是2和4,...
SQL注入之提交方式的注入
1 get get是從伺服器上獲取資料,不和伺服器產生互動 get注入 平時訪問網頁測試注入點,對它進行注入就是get注入方式。2 post post是向伺服器傳送資料。post提交方式主要適用於表單的提交 post注入 主要用於登入框的注入。3 cookie cookie提交用於賬號密碼的cook...