Question: My problem is every time after changing the Liferay `portal-properties` (and this is frequent especially at beginning of a new portal project) I need to restart the whole portal.

Some properties I can set over hook and these values will be changed after redeployment. Also that must be possible to change most portal properties at run time. 

However, do you know some approach to reflect changes in `portal-ext.properties` without restarting Liferay portal?

Answer: 
As [stoldark](https://stackoverflow.com/a/11931915/468763) mentioned, this is not possible in a production environment at all. Since `portal.properties`'s properties are loaded at portal start-up.

But for development you can use a tool like [JRebel](http://www.zeroturnaround.com/software/jrebel/), some steps to configure it [here](http://www.liferayaddict.com/home/-/blogs/liferay-ext-with-jrebel). The only issue you would get with this tool is that it is paid **;-)**.
I've just searched for reloading portal-ext.properties and landed here.
Ok - not a feature in Liferay.

So I'll use an old trick I like:

1. place custom properties in (liferay-tomcat-home)/conf/filename.properties
2. reload them whenever you want by

```
Properties customProperties = new Properties();
customProperties.load(new FileInputStream(new File(System.getProperty("catalina.base"), "conf/filename.properties")));

```

I must confess I haven't tried this in a Liferay-Portlet-Environment, but this system property ("catalina.base") should be available in this context, at least by using some Liferay-Helper-Class.