You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Tobias Soloschenko (JIRA)" <ji...@apache.org> on 2016/03/08 16:16:40 UTC

[jira] [Commented] (WICKET-6112) Microservices support (decoupled component usage)

    [ https://issues.apache.org/jira/browse/WICKET-6112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15185057#comment-15185057 ] 

Tobias Soloschenko commented on WICKET-6112:
--------------------------------------------

Reference to dev mailing list: http://apache-wicket.1842946.n4.nabble.com/servlet-3-1-web-fragments-and-microservices-td4673844.html

> Microservices support (decoupled component usage)
> -------------------------------------------------
>
>                 Key: WICKET-6112
>                 URL: https://issues.apache.org/jira/browse/WICKET-6112
>             Project: Wicket
>          Issue Type: New Feature
>          Components: wicket
>    Affects Versions: 8.0.0-M1
>            Reporter: Tobias Soloschenko
>            Assignee: Tobias Soloschenko
>              Labels: features
>             Fix For: 8.0.0-M1
>
>         Attachments: 0001-Microservices.patch, wicket.microservices.parent.zip
>
>
> It would be very nice to be able to instantiate components in a decoupled way, so that jars might be dropped into the web apps lib folder and if they are present, the web app show new functionality.
> Examples would look like this:
> {code}
> 		String microservicePage = "wicket.microservices.service1.MicroservicePage1";
> 		add(new Link<String>("link")
> 		{
> 			private static final long serialVersionUID = 1L;
> 			@Override
> 			public void onClick()
> 			{
> 				setResponsePage(microservicePage);
> 			}
> 			
> 			@Override
> 			protected void onConfigure()
> 			{
> 				setVisible(Component.isAvailable(microservicePage));
> 			}
> 		});
> {code}
> or like this
> {code}
> 		String microservicePanel = "wicket.microservices.service2.MicroservicePanel2";
> 		if(Component.isAvailable(microservicePanel)){
> 			add(Component.newInstance(microservicePanel,"Yay this is a label"));
> 		}else{
> 			add(new EmptyPanel("panel"));
> 		}
> {code}
> The main benefit of this feature is that you are able to have jars that provide additional functionality but not required to be shipped with an initial deployment.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)