@@ -118,14 +118,17 @@ impl DefaultMQAdminExt {
118118 pub fn with_timeout ( timeout_millis : Duration ) -> Self {
119119 let admin_ext_group = CheetahString :: from_static_str ( ADMIN_EXT_GROUP ) ;
120120 let client_config = ArcMut :: new ( ClientConfig :: new ( ) ) ;
121+ let mut default_mqadmin_ext_impl = ArcMut :: new ( DefaultMQAdminExtImpl :: new (
122+ None ,
123+ timeout_millis,
124+ client_config. clone ( ) ,
125+ admin_ext_group. clone ( ) ,
126+ ) ) ;
127+ let inner = default_mqadmin_ext_impl. clone ( ) ;
128+ default_mqadmin_ext_impl. set_inner ( inner) ;
121129 Self {
122- client_config : client_config. clone ( ) ,
123- default_mqadmin_ext_impl : ArcMut :: new ( DefaultMQAdminExtImpl :: new (
124- None ,
125- timeout_millis,
126- client_config,
127- admin_ext_group. clone ( ) ,
128- ) ) ,
130+ client_config,
131+ default_mqadmin_ext_impl,
129132 admin_ext_group,
130133 create_topic_key : CheetahString :: from_static_str ( TopicValidator :: AUTO_CREATE_TOPIC_KEY_TOPIC ) ,
131134 timeout_millis,
@@ -135,14 +138,17 @@ impl DefaultMQAdminExt {
135138 pub fn with_rpc_hook ( rpc_hook : Arc < dyn RPCHook > ) -> Self {
136139 let admin_ext_group = CheetahString :: from_static_str ( ADMIN_EXT_GROUP ) ;
137140 let client_config = ArcMut :: new ( ClientConfig :: new ( ) ) ;
141+ let mut default_mqadmin_ext_impl = ArcMut :: new ( DefaultMQAdminExtImpl :: new (
142+ Some ( rpc_hook) ,
143+ Duration :: from_millis ( 5000 ) ,
144+ client_config. clone ( ) ,
145+ admin_ext_group. clone ( ) ,
146+ ) ) ;
147+ let inner = default_mqadmin_ext_impl. clone ( ) ;
148+ default_mqadmin_ext_impl. set_inner ( inner) ;
138149 Self {
139- client_config : client_config. clone ( ) ,
140- default_mqadmin_ext_impl : ArcMut :: new ( DefaultMQAdminExtImpl :: new (
141- Some ( rpc_hook) ,
142- Duration :: from_millis ( 5000 ) ,
143- client_config,
144- admin_ext_group. clone ( ) ,
145- ) ) ,
150+ client_config,
151+ default_mqadmin_ext_impl,
146152 admin_ext_group,
147153 create_topic_key : CheetahString :: from_static_str ( TopicValidator :: AUTO_CREATE_TOPIC_KEY_TOPIC ) ,
148154 timeout_millis : Duration :: from_millis ( 5000 ) ,
@@ -152,14 +158,17 @@ impl DefaultMQAdminExt {
152158 pub fn with_rpc_hook_and_timeout ( rpc_hook : Arc < dyn RPCHook > , timeout_millis : Duration ) -> Self {
153159 let admin_ext_group = CheetahString :: from_static_str ( ADMIN_EXT_GROUP ) ;
154160 let client_config = ArcMut :: new ( ClientConfig :: new ( ) ) ;
161+ let mut default_mqadmin_ext_impl = ArcMut :: new ( DefaultMQAdminExtImpl :: new (
162+ Some ( rpc_hook) ,
163+ timeout_millis,
164+ client_config. clone ( ) ,
165+ admin_ext_group. clone ( ) ,
166+ ) ) ;
167+ let inner = default_mqadmin_ext_impl. clone ( ) ;
168+ default_mqadmin_ext_impl. set_inner ( inner) ;
155169 Self {
156- client_config : client_config. clone ( ) ,
157- default_mqadmin_ext_impl : ArcMut :: new ( DefaultMQAdminExtImpl :: new (
158- Some ( rpc_hook) ,
159- timeout_millis,
160- client_config,
161- admin_ext_group. clone ( ) ,
162- ) ) ,
170+ client_config,
171+ default_mqadmin_ext_impl,
163172 admin_ext_group,
164173 create_topic_key : CheetahString :: from_static_str ( TopicValidator :: AUTO_CREATE_TOPIC_KEY_TOPIC ) ,
165174 timeout_millis,
@@ -169,14 +178,17 @@ impl DefaultMQAdminExt {
169178 pub fn with_admin_ext_group ( admin_ext_group : impl Into < CheetahString > ) -> Self {
170179 let admin_ext_group = admin_ext_group. into ( ) ;
171180 let client_config = ArcMut :: new ( ClientConfig :: new ( ) ) ;
181+ let mut default_mqadmin_ext_impl = ArcMut :: new ( DefaultMQAdminExtImpl :: new (
182+ None ,
183+ Duration :: from_millis ( 5000 ) ,
184+ client_config. clone ( ) ,
185+ admin_ext_group. clone ( ) ,
186+ ) ) ;
187+ let inner = default_mqadmin_ext_impl. clone ( ) ;
188+ default_mqadmin_ext_impl. set_inner ( inner) ;
172189 Self {
173- client_config : client_config. clone ( ) ,
174- default_mqadmin_ext_impl : ArcMut :: new ( DefaultMQAdminExtImpl :: new (
175- None ,
176- Duration :: from_millis ( 5000 ) ,
177- client_config,
178- admin_ext_group. clone ( ) ,
179- ) ) ,
190+ client_config,
191+ default_mqadmin_ext_impl,
180192 admin_ext_group,
181193 create_topic_key : CheetahString :: from_static_str ( TopicValidator :: AUTO_CREATE_TOPIC_KEY_TOPIC ) ,
182194 timeout_millis : Duration :: from_millis ( 5000 ) ,
@@ -189,14 +201,17 @@ impl DefaultMQAdminExt {
189201 ) -> Self {
190202 let admin_ext_group = admin_ext_group. into ( ) ;
191203 let client_config = ArcMut :: new ( ClientConfig :: new ( ) ) ;
204+ let mut default_mqadmin_ext_impl = ArcMut :: new ( DefaultMQAdminExtImpl :: new (
205+ None ,
206+ timeout_millis,
207+ client_config. clone ( ) ,
208+ admin_ext_group. clone ( ) ,
209+ ) ) ;
210+ let inner = default_mqadmin_ext_impl. clone ( ) ;
211+ default_mqadmin_ext_impl. set_inner ( inner) ;
192212 Self {
193- client_config : client_config. clone ( ) ,
194- default_mqadmin_ext_impl : ArcMut :: new ( DefaultMQAdminExtImpl :: new (
195- None ,
196- timeout_millis,
197- client_config,
198- admin_ext_group. clone ( ) ,
199- ) ) ,
213+ client_config,
214+ default_mqadmin_ext_impl,
200215 admin_ext_group,
201216 create_topic_key : CheetahString :: from_static_str ( TopicValidator :: AUTO_CREATE_TOPIC_KEY_TOPIC ) ,
202217 timeout_millis,
0 commit comments