Skip to content

Commit a17d2fb

Browse files
Add missing mbeans and attributes for remote console (#1150)
* Add missing mbeans and attributes for remote console * fix typo in generated file
1 parent 0db8643 commit a17d2fb

File tree

11 files changed

+275
-2
lines changed

11 files changed

+275
-2
lines changed

core/src/main/python/wlsdeploy/aliases/model_constants.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,9 @@
178178
MAIL_SESSION = 'MailSession'
179179
MAIL_SESSION_OVERRIDE = 'MailSessionOverride'
180180
MAIL_SESSION_PROPERTIES = 'Properties'
181+
MANAGED_EXECUTOR_SERVICE_TEMPLATE = 'ManagedExecutorServiceTemplate'
182+
MANAGED_SCHEDULED_EXECUTOR_SERVICE = 'ManagedScheduledExecutorService'
183+
MANAGED_THREAD_FACTORY_TEMPLATE = 'ManagedThreadFactoryTemplate'
181184
MAX_DYNAMIC_SERVER_COUNT = 'MaximumDynamicServerCount'
182185
MAX_THREADS_CONSTRAINT = 'MaxThreadsConstraint'
183186
MIGRATABLE_TARGET = 'MigratableTarget'

core/src/main/python/wlsdeploy/tool/discover/topology_discoverer.py

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,15 @@ def discover(self):
113113
model_folder_name, folder_result = self._get_xml_registries()
114114
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
115115

116+
model_folder_name, folder_result = self.get_managed_executor_template()
117+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
118+
119+
model_folder_name, folder_result = self.get_managed_thread_factory_template()
120+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
121+
122+
model_folder_name, folder_result = self.get_managed_scheduled_executor_service()
123+
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
124+
116125
model_folder_name, folder_result = self._get_ws_securities()
117126
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
118127

@@ -318,6 +327,7 @@ def discover_domain_parameters(self):
318327
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
319328
model_folder_name, folder_result = self._get_nm_properties()
320329
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
330+
321331
model_folder_name, folder_result = self.discover_domain_mbean(model_constants.RESTFUL_MANAGEMENT_SERVICES)
322332
discoverer.add_to_model_if_not_empty(self._dictionary, model_folder_name, folder_result)
323333

@@ -428,6 +438,8 @@ def _get_nm_properties(self):
428438
_logger.exiting(class_name=_class_name, method_name=_method_name)
429439
return model_top_folder_name, result
430440

441+
442+
431443
def _get_log_filters(self):
432444
"""
433445
Discover the log filters that are used in the different types of Logs in the domain.
@@ -553,6 +565,81 @@ def _get_xml_registries(self):
553565
_logger.exiting(class_name=_class_name, method_name=_method_name, result=model_top_folder_name)
554566
return model_top_folder_name, result
555567

568+
def get_managed_executor_template(self):
569+
"""
570+
Discover the domain managed executor template
571+
:return: model name for the folder: dictionary containing the discovered managed executor template
572+
"""
573+
_method_name = 'get_managed_executor_template'
574+
_logger.entering(class_name=_class_name, method_name=_method_name)
575+
model_top_folder_name = model_constants.MANAGED_EXECUTOR_SERVICE_TEMPLATE
576+
result = OrderedDict()
577+
location = LocationContext(self._base_location)
578+
location.append_location(model_top_folder_name)
579+
templates = self._find_names_in_folder(location)
580+
if templates is not None:
581+
_logger.info('WLSDPLY-06651', len(templates), class_name=_class_name, method_name=_method_name)
582+
name_token = self._aliases.get_name_token(location)
583+
for template in templates:
584+
_logger.info('WLSDPLY-06652', template, class_name=_class_name, method_name=_method_name)
585+
location.add_name_token(name_token, template)
586+
result[template] = OrderedDict()
587+
self._populate_model_parameters(result[template], location)
588+
location.remove_name_token(name_token)
589+
590+
_logger.exiting(class_name=_class_name, method_name=_method_name, result=model_top_folder_name)
591+
return model_top_folder_name, result
592+
593+
594+
def get_managed_scheduled_executor_service(self):
595+
"""
596+
Discover the domain managed scheduled executor service
597+
:return: model name for the folder: dictionary containing the discovered managed scheduled executor
598+
"""
599+
_method_name = 'get_managed_scheduled_executor_service'
600+
_logger.entering(class_name=_class_name, method_name=_method_name)
601+
model_top_folder_name = model_constants.MANAGED_SCHEDULED_EXECUTOR_SERVICE
602+
result = OrderedDict()
603+
location = LocationContext(self._base_location)
604+
location.append_location(model_top_folder_name)
605+
services = self._find_names_in_folder(location)
606+
if services is not None:
607+
_logger.info('WLSDPLY-06653', len(services), class_name=_class_name, method_name=_method_name)
608+
name_token = self._aliases.get_name_token(location)
609+
for service in services:
610+
_logger.info('WLSDPLY-06654', service, class_name=_class_name, method_name=_method_name)
611+
location.add_name_token(name_token, service)
612+
result[service] = OrderedDict()
613+
self._populate_model_parameters(result[service], location)
614+
location.remove_name_token(name_token)
615+
616+
_logger.exiting(class_name=_class_name, method_name=_method_name, result=model_top_folder_name)
617+
return model_top_folder_name, result
618+
619+
def get_managed_thread_factory_template(self):
620+
"""
621+
Discover the domain managed thread factory template
622+
:return: model name for the folder: dictionary containing the discovered managed thread factory templates """
623+
_method_name = 'get_managed_thread_factory_template'
624+
_logger.entering(class_name=_class_name, method_name=_method_name)
625+
model_top_folder_name = model_constants.MANAGED_SCHEDULED_EXECUTOR_SERVICE
626+
result = OrderedDict()
627+
location = LocationContext(self._base_location)
628+
location.append_location(model_top_folder_name)
629+
factories = self._find_names_in_folder(location)
630+
if factories is not None:
631+
_logger.info('WLSDPLY-06655', len(factories), class_name=_class_name, method_name=_method_name)
632+
name_token = self._aliases.get_name_token(location)
633+
for factory in factories:
634+
_logger.info('WLSDPLY-06656', factory, class_name=_class_name, method_name=_method_name)
635+
location.add_name_token(name_token, factory)
636+
result[factory] = OrderedDict()
637+
self._populate_model_parameters(result[factory], location)
638+
location.remove_name_token(name_token)
639+
640+
_logger.exiting(class_name=_class_name, method_name=_method_name, result=model_top_folder_name)
641+
return model_top_folder_name, result
642+
556643
def _get_ws_securities(self):
557644
"""
558645
Discover the Webservice Security configuration for the domain

core/src/main/resources/oracle/weblogic/deploy/aliases/category_modules/JMSSystemResource.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,19 @@
643643
"wlst_paths": {
644644
"WP001": "/JMSSystemResource${:s}/%JMSSYSTEMRESOURCE%/${Jms:JMS}Resource/%JMSRESOURCE%/Template${:s}/%TEMPLATE%/Thresholds/%THRESHOLDS%"
645645
}
646+
},
647+
"TopicSubscriptionParams": {
648+
"wlst_type": "TopicSubscriptionParams",
649+
"default_name_value": "${NO_NAME_0:%TEMPLATE%}",
650+
"version": "[12.2.1.3,)",
651+
"folders": {},
652+
"attributes": {
653+
"MessagesLimitOverride": [ {"version": "[12.2.1.3,)", "wlst_mode": "both", "wlst_name": "MessagesLimitOverride", "wlst_path": "WP001", "default_value": -1, "wlst_type": "long" } ]
654+
},
655+
"wlst_attributes_path": "WP001",
656+
"wlst_paths": {
657+
"WP001": "/JMSSystemResource${:s}/%JMSSYSTEMRESOURCE%/${Jms:JMS}Resource/%JMSRESOURCE%/Template${:s}/%TEMPLATE%/TopicSubscriptionParams/%TOPICSUBSCRIPTIONPARAMS%"
658+
}
646659
}
647660
},
648661
"attributes": {
@@ -744,6 +757,19 @@
744757
"wlst_paths": {
745758
"WP001": "/JMSSystemResource${:s}/%JMSSYSTEMRESOURCE%/${Jms:JMS}Resource/%JMSRESOURCE%/Topic${:s}/%TOPIC%/Thresholds/%THRESHOLDS%"
746759
}
760+
},
761+
"TopicSubscriptionParams": {
762+
"wlst_type": "TopicSubscriptionParams",
763+
"default_name_value": "${NO_NAME_0:%TOPIC%}",
764+
"version": "[12.2.1.3,)",
765+
"folders": {},
766+
"attributes": {
767+
"MessagesLimitOverride": [ {"version": "[12.2.1.3,)", "wlst_mode": "both", "wlst_name": "MessagesLimitOverride", "wlst_path": "WP001", "default_value": -1, "wlst_type": "long" } ]
768+
},
769+
"wlst_attributes_path": "WP001",
770+
"wlst_paths": {
771+
"WP001": "/JMSSystemResource${:s}/%JMSSYSTEMRESOURCE%/${Jms:JMS}Resource/%JMSRESOURCE%/Topic${:s}/%TOPIC%/TopicSubscriptionParams/%TOPICSUBSCRIPTIONPARAMS%"
772+
}
747773
}
748774
},
749775
"attributes": {
@@ -838,6 +864,19 @@
838864
"wlst_paths": {
839865
"WP001": "/JMSSystemResource${:s}/%JMSSYSTEMRESOURCE%/${Jms:JMS}Resource/%JMSRESOURCE%/UniformDistributedQueue${:s}/%UNIFORMDISTRIBUTEDQUEUE%/Thresholds/%THRESHOLDS%"
840866
}
867+
},
868+
"TopicSubscriptionParams": {
869+
"wlst_type": "TopicSubscriptionParams",
870+
"default_name_value": "${NO_NAME_0:%UNIFORMDISTRIBUTEDQUEUE%}",
871+
"version": "[12.2.1.3,)",
872+
"folders": {},
873+
"attributes": {
874+
"MessagesLimitOverride": [ {"version": "[12.2.1.3,)", "wlst_mode": "both", "wlst_name": "MessagesLimitOverride", "wlst_path": "WP001", "default_value": -1, "wlst_type": "long" } ]
875+
},
876+
"wlst_attributes_path": "WP001",
877+
"wlst_paths": {
878+
"WP001": "/JMSSystemResource${:s}/%JMSSYSTEMRESOURCE%/${Jms:JMS}Resource/%JMSRESOURCE%/UniformDistributedQueue${:s}/%UNIFORMDISTRIBUTEDQUEUE%/TopicSubscriptionParams/%TOPICSUBSCRIPTIONPARAMS%"
879+
}
841880
}
842881
},
843882
"attributes": {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"copyright": "Copyright (c) 2022, Oracle Corporation and/or its affiliates.",
3+
"license": "Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl",
4+
"wlst_type": "ManagedExecutorServiceTemplate${:s}",
5+
"child_folders_type": "multiple",
6+
"version": "[12.2.1,)",
7+
"short_name": "ManagedESTemplate",
8+
"folders": {},
9+
"attributes": {
10+
"DispatchPolicy": [ {"version": "[12.2.1,)", "wlst_mode": "both", "wlst_name": "DispatchPolicy", "wlst_path": "WP001", "default_value": "", "wlst_type": "string"} ],
11+
"LongRunningPriority": [ {"version": "[12.2.1,)", "wlst_mode": "both", "wlst_name": "LongRunningPriority", "wlst_path": "WP001", "default_value": 5, "wlst_type": "integer"} ],
12+
"MaxConcurrentLongRunningRequests": [ {"version": "[12.2.1,)", "wlst_mode": "both", "wlst_name": "MaxConcurrentLongRunningRequests", "wlst_path": "WP001", "default_value": 10, "wlst_type": "integer"} ],
13+
"Notes": [ {"version": "[12.2.1,)", "wlst_mode": "both", "wlst_name": "Notes", "wlst_path": "WP001", "default_value": null, "wlst_type": "string"} ],
14+
"Target": [ {"version": "[12.2.1,)", "wlst_mode": "offline", "wlst_name": "Target", "wlst_path": "WP001", "default_value": null, "wlst_type": "delimited_string", "set_method": "MBEAN.set_target_mbeans" },
15+
{"version": "[12.2.1,)", "wlst_mode": "online", "wlst_name": "Targets", "wlst_path": "WP002", "default_value": null, "wlst_type": "jarray", "get_method": "GET", "preferred_model_type": "delimited_string", "set_method": "MBEAN.set_target_mbeans", "set_mbean_type": "weblogic.management.configuration.TargetMBean"} ]
16+
},
17+
"wlst_attributes_path": "WP001",
18+
"wlst_paths": {
19+
"WP001": "/ManagedExecutorServiceTemplate${:s}/%MANAGEDEXECUTORSERVICETEMPLATE%",
20+
"WP002": "/ManagedExecutorServiceTemplate${:s}/%MANAGEDEXECUTORSERVICETEMPLATE%/Targets"
21+
}
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"copyright": "Copyright (c) 2022, Oracle Corporation and/or its affiliates.",
3+
"license": "Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl",
4+
"wlst_type": "ManagedScheduledExecutorServiceTemplate${:s}",
5+
"child_folders_type": "multiple",
6+
"version": "[12.2.1,)",
7+
"short_name": "ManagedSchedESTemplate",
8+
"folders": {},
9+
"attributes": {
10+
"DispatchPolicy": [ {"version": "[12.2.1,)", "wlst_mode": "both", "wlst_name": "DispatchPolicy", "wlst_path": "WP001", "default_value": "", "wlst_type": "string"} ],
11+
"LongRunningPriority": [ {"version": "[12.2.1,)", "wlst_mode": "both", "wlst_name": "LongRunningPriority", "wlst_path": "WP001", "default_value": 5, "wlst_type": "integer"} ],
12+
"MaxConcurrentLongRunningRequests": [ {"version": "[12.2.1,)", "wlst_mode": "both", "wlst_name": "MaxConcurrentLongRunningRequests", "wlst_path": "WP001", "default_value": 10, "wlst_type": "integer"} ],
13+
"Notes": [ {"version": "[12.2.1,)", "wlst_mode": "both", "wlst_name": "Notes", "wlst_path": "WP001", "default_value": null, "wlst_type": "string"} ],
14+
"Target": [ {"version": "[12.2.1,)", "wlst_mode": "offline", "wlst_name": "Target", "wlst_path": "WP001", "default_value": null, "wlst_type": "delimited_string", "set_method": "MBEAN.set_target_mbeans" },
15+
{"version": "[12.2.1,)", "wlst_mode": "online", "wlst_name": "Targets", "wlst_path": "WP002", "default_value": null, "wlst_type": "jarray", "get_method": "GET", "preferred_model_type": "delimited_string", "set_method": "MBEAN.set_target_mbeans", "set_mbean_type": "weblogic.management.configuration.TargetMBean"} ]
16+
},
17+
"wlst_attributes_path": "WP001",
18+
"wlst_paths": {
19+
"WP001": "/ManagedScheduledExecutorServiceTemplate${:s}/%MANAGEDSCHEDULEDEXECUTORSERVICETEMPLATE%",
20+
"WP002": "/ManagedScheduledExecutorServiceTemplate${:s}/%MANAGEDSCHEDULEDEXECUTORSERVICETEMPLATE%/Targets"
21+
}
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"copyright": "Copyright (c) 2022, Oracle Corporation and/or its affiliates.",
3+
"license": "Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl",
4+
"wlst_type": "ManagedThreadFactoryTemplate${:s}",
5+
"child_folders_type": "multiple",
6+
"version": "[12.2.1,)",
7+
"short_name": "ManagedThreadFactTemplate",
8+
"folders": {},
9+
"attributes": {
10+
"MaxConcurrentNewThreads": [ {"version": "[12.2.1,)", "wlst_mode": "both", "wlst_name": "MaxConcurrentNewThreads", "wlst_path": "WP001", "default_value": 10, "wlst_type": "integer"} ],
11+
"Notes": [ {"version": "[12.2.1,)", "wlst_mode": "both", "wlst_name": "Notes", "wlst_path": "WP001", "default_value": null, "wlst_type": "string"} ],
12+
"Priority": [ {"version": "[12.2.1,)", "wlst_mode": "both", "wlst_name": "Priority", "wlst_path": "WP001", "default_value": 5, "wlst_type": "integer"} ],
13+
"Target": [ {"version": "[12.2.1,)", "wlst_mode": "offline", "wlst_name": "Target", "wlst_path": "WP001", "default_value": null, "wlst_type": "delimited_string", "set_method": "MBEAN.set_target_mbeans" },
14+
{"version": "[12.2.1,)", "wlst_mode": "online", "wlst_name": "Targets", "wlst_path": "WP002", "default_value": null, "wlst_type": "jarray", "get_method": "GET", "preferred_model_type": "delimited_string", "set_method": "MBEAN.set_target_mbeans", "set_mbean_type": "weblogic.management.configuration.TargetMBean"} ]
15+
},
16+
"wlst_attributes_path": "WP001",
17+
"wlst_paths": {
18+
"WP001": "/ManagedThreadFactoryTemplate${:s}/%MANAGEDTHREADFACTORYTEMPLATE%",
19+
"WP002": "/ManagedThreadFactoryTemplate${:s}/%MANAGEDTHREADFACTORYTEMPLATE%/Targets"
20+
}
21+
}

0 commit comments

Comments
 (0)